wake-up-neo.com

So legen Sie die Android-Symbolleistenhöhe fest

Ich möchte das erreichen:

Was ich dachte, war, eine benutzerdefinierte Werkzeugleiste mit einer größeren Höhe zu erstellen und normalerweise mit dem Tabhost und dem Tabpager zu arbeiten. Ich habe es implementiert, aber die Symbolleiste zeigt die normale Höhe an, sodass sie nicht wie gewünscht angezeigt wird, sondern nur der obere Teil. Ist dies der richtige Ansatz oder ist es möglich, einen TabHost unterhalb eines linearen/relativen Layouts zu setzen? Weil ich nicht als Aktionsleiste damit arbeiten muss. 

Relevanter Code

toolbar.xml

<?xml version="1.0" encoding="utf-8"?>
<Android.support.v7.widget.Toolbar xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:id="@+id/toolbarTitle"
    Android:orientation="vertical"
    Android:background="@color/black"
    Android:layout_width="match_parent"
    Android:fitsSystemWindows="true"
    Android:minHeight="?attr/actionBarSize"
    Android:theme="@style/AppTheme"
    Android:layout_height="wrap_content">

    <RelativeLayout
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content">
    <ImageView
        Android:id="@+id/img_logo"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:layout_marginTop="55dp"
        Android:scaleType="centerInside"
        Android:src="@drawable/logo_home"
        />

    <TextView
        Android:id="@+id/txt_version"
        Android:text="@string/app_version"
        Android:textColor="@color/white"
        Android:layout_below="@+id/img_logo"
        Android:paddingBottom="10dp"
        Android:paddingTop="15dp"
        Android:gravity="center"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"/>
    </RelativeLayout>
</Android.support.v7.widget.Toolbar>

Und diese Funktion in der Aktivität:

private void setupActionBar()
    {
        ActionBar ab = getSupportActionBar();
        ab.setDisplayShowCustomEnabled(true);
        ab.setDisplayShowTitleEnabled(false);
        LayoutInflater inflator = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View v = inflator.inflate(R.layout.toolbar_title, null);
        ab.setCustomView(v);
    }
9
Alejandro Cumpa
<Android.support.v7.widget.Toolbar xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/toolbarTitle"
Android:orientation="vertical"
Android:background="@color/black"
Android:layout_width="match_parent"
Android:fitsSystemWindows="true"
Android:minHeight="?attr/actionBarSize" //pay attention here
Android:theme="@style/AppTheme"
Android:layout_height="wrap_content"> //pay attention here

ihr ToolBar, das ein ViewGroup ist, wickelt seine Höhe um seine untergeordneten Elemente, was bedeutet, dass es nur dann eine feste Größe erhält, wenn die untergeordneten Elemente gemessen werden. Ihre Mindestgröße liegt bei 50 bis 60dip, so niedrig wird Ihr ToolBar sein. Also, wenn Ihre Kindergröße sich nicht zu einer angemessenen großen Zahl summiert, ist es immer noch <= 50

gib ihm eine bevorzugte Höhe Android:layout_height="200dp"

18
Elltz

sie können AppBarLayout wie folgt verwenden:


<Android.support.design.widget.AppBarLayout
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:theme="@style/AppTheme">

        <Android.support.v7.widget.Toolbar
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:id="@+id/toolbar_"
            app:layout_scrollFlags="scroll|enterAlways"
            app:popupTheme="@style/AppTheme.PopupOverlay">

        </Android.support.v7.widget.Toolbar>

        <Android.support.design.widget.TabLayout
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:id="@+id/tabs"
            app:tabBackground="@color/White"
            app:tabIndicatorColor="@color/OrangeFFC200"
            app:tabTextAppearance="@style/MineCustomTabText">

        </Android.support.design.widget.TabLayout>

</Android.support.design.widget.AppBarLayout>

0

Verwenden Sie ein Thema ohne Aktionsleiste für diese Aktivität oder die gesamte App, wenn Sie keine Funktionen der Aktionsleiste benötigen (z. B. Theme.Holo.NoActionBar) . Sie können das Layout Ihrer oberen Leiste direkt im Hauptlayout der Aktivitäten hinzufügen. Wenn Sie es für andere Aktivitäten verwenden, sollten Sie in Betracht ziehen, separate XML-Dateien für das Layout oder sogar Ihre eigene ActionBarView-Klasse zu erstellen. 

0
cutoff