1

以下は、現在のセットアップのスクリーンショットです。

ここに画像の説明を入力

以下のコードで設定したカスタム アクション バー ビューを作成しました。希望するのは 2 つの画像で、1 つはタイトル バーに左揃えで、もう 1 つは右揃えです。

問題は、アプリのアイコンを非表示にすると、アイコンが非表示になるだけで削除されないため、左側にギャップが生じることです。アイコンを削除する方法を示す他のSOの質問がいくつか見つかりましたが、保持したいタブも削除されます。

誰でも私に解決策を提供できますか?

私の onCreate() 関数から:

final ActionBar actionBar = getActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);    

        LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View v = inflater.inflate(R.layout.action_bar_title, null);

        View homeIcon = findViewById(android.R.id.home);
        ((View) homeIcon.getParent()).setVisibility(View.GONE);
        ((View) homeIcon).setVisibility(View.GONE);        

        actionBar.setDisplayShowCustomEnabled(true);
        actionBar.setDisplayShowTitleEnabled(false);  
        actionBar.setDisplayShowHomeEnabled(true);
        actionBar.setCustomView(v);

私のxmlカスタムレイアウト:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"    
    android:layout_height="fill_parent"
    android:gravity="fill_horizontal"
    android:layout_marginLeft="0dp"
    android:orientation="horizontal"
    >    

    <ImageView android:id="@+id/title_img_left"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentTop="true"                    
                    android:src="@drawable/test" />
     <ImageView android:id="@+id/title_img_right"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentRight="true"
                    android:layout_alignParentTop="true"
                    android:src="@drawable/test" />


</RelativeLayout>

私は信じている Holo.Light.DarkActionBar テーマを使用しています。

4

2 に答える 2

0

あなたが達成しようとしていることを私が理解しているなら、MenuItem左側にカスタム画像を追加actionBarLogoして、右側にしたい画像を設定しないのはなぜですか。その後、ホームボタンのクリックをオーバーライドするだけで、カスタムビューで作成できるのと同じことが実現すると思いますActionBar

PS 私があなたが間違っていると理解したら、それがどのように見えるべきかについてもう少し情報を提供してください.

于 2013-07-25T13:47:58.343 に答える