web-dev-qa-db-ja.com

設定方法Androidツールバーの高さ?

私はこれを達成したい:

私が思ったのは、より高い高さのカスタムツールバーを作成し、通常はタブホストとタブページャーで動作することでした。私はそれを実装しましたが、ツールバーは通常の高さを表示しているので、望みどおりに表示されず、上部のみが表示されます。これは正しいアプローチですか、または線形/相対レイアウトの下にTabHostを設定することは可能ですか?アクションバーとして使用する必要がないためです。

関連コード

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>

そして、アクティビティのこの機能:

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);
    }
10
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

ToolBarであるViewGroupは、その高さをその子の周りにラップしています。つまり、子が測定された場合にのみ、固定サイズを取得します。最小の高さは50から60dip、つまりToolBarがどれだけ低くなるか。そのため、子供の身長が妥当な大きな数にならない場合でも、<= 50

好みの高さAndroid:layout_height="200dp"

18
Elltz

次のようにAppBarLayoutを使用できます。


<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

アクションバーの機能が必要ない場合は、このアクティビティまたはアプリ全体にアクションバーのないテーマを使用します(Theme.Holo.NoActionBar)。アクティビティのルートレイアウトにトップバーのレイアウトを直接追加できます。他のアクティビティで使用する場合は、レイアウトまたは独自のActionBarViewクラス用に個別のxmlファイルを作成することを検討してください。

0
cutoff