6

設定画面を拡張しPreferenceActivityました。<OS 4.0.3 をターゲットにするために、アクション バーにアイコンを追加したかったので、これをonCreate().

ActionBar actionBar = getActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);

出来た。<アプリアイコンの左側に追加されました。しかし、次の階層(詳細画面)に入る項目をタップすると、<が表示されません。トップレベルに戻ると、<が再び表示されます。

PreferenceActivity入れ子になった好みのメカニズムについては、賢い人が隠して以来、考えたことはありません。私の質問は、ネストされた設定をPreferenceActivity表示しないのはなぜですか?<

<設定画面に追加する必要がないと主張したくありません。(Googleのアプリでも追加するものとしないものがありますので、これには明確なルールはないと思います。)

これに対する簡単な解決策があれば、この問題を解決したいと思います。

4

3 に答える 3

1

これを動的に追加する代わりに、アプリケーション テーマで使用するカスタム ActionBar スタイルを記述して矢印を追加する必要があります。(基本的にはhttps://stackoverflow.com/a/16247111/582004を参照)

于 2013-04-27T00:45:24.253 に答える
1

これは、設定アクティビティのホームボタンの作業コードです

    @Override   
    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    LinearLayout root = (LinearLayout)findViewById(android.R.id.list).getParent().getParent().getParent();
    Toolbar bar = (Toolbar) LayoutInflater.from(this).inflate(R.layout.settings_toolbar, root, false);
    root.addView(bar, 0); // insert at top
    bar.setTitle("Settings");
    bar.setTitleTextColor(Color.WHITE);

    bar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            finish();
        }
    });
    addPreferencesFromResource(R.layout.settings);

}

これは settings_toolbar.xml です

    <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
android:elevation="2dp"
android:fitsSystemWindows="true"
android:minHeight="?attr/actionBarSize"
app:navigationIcon="@drawable/gobackleftarrow"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

</android.support.v7.widget.Toolbar>
于 2016-09-19T10:36:54.797 に答える
0

UPナビゲーションを表示する各アクティビティのホームボタンとアクションバーを有効にする必要があります。マニフェストで親アクティビティを設定する必要もあります。

厄介な詳細については、この質問を参照してください: アップインジケーターが表示されない

于 2012-12-20T08:29:43.387 に答える