11

アプリのカスタムビューを設定しようとしていますが、作成したレイアウトがアクションバー全体を埋めません。非常に多くのスタイル設定を試しましたが、うまくいきませんでした。

ここに活動中の私のコードがあります

View view = getLayoutInflater().inflate(R.layout.actionbar_customized_home, null);
getSupportActionBar().setDisplayShowCustomEnabled(true);
getSupportActionBar().setCustomView(view);

ここに配置されたレイアウトがビューとして設定されています

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@color/actionbar_color"
    >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="25dp"
        android:layout_centerInParent="true"
        android:scaleType="fitCenter"
        android:src="@drawable/logo"/>



</RelativeLayout>

navdrawer のようなメニュー項目の背景でさえ、カスタムビューを背景色にするにはどうすればよいですか?

助けてくれて本当にありがとう

4

4 に答える 4

10

メイン コンテナを次のように設定します。

   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_gravity="fill_horizontal"
        android:background="@color/actionbar_color"
        >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="25dp"
            android:layout_centerInParent="true"
            android:scaleType="fitCenter"
            android:src="@drawable/logo"/>

    </RelativeLayout>

重要な部分は、android:layout_gravity="fill_horizontal問題を解決する必要があることです。

編集:

それでもうまくいかない場合は、これを試してください:

View view = getLayoutInflater().inflate(R.layout.actionbar_customized_home, null);
LayoutParams layout = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
getSupportActionBar().setCustomView(view, layout); 
于 2014-12-03T02:27:54.910 に答える