簡體   English   中英

如何在片段中添加“向上”后退按鈕(片段到活動)

[英]How to add "UP" back button in fragment (Fragment to Activity)

我想使用工具欄后退圖標使用后退按鈕從片段到活動 go。

像這個

該片段是我的導航抽屜項目,活動是我的 MainActivity。

我該怎么做?

您可以將app:navigationIcon="?attr/homeAsUpIndicator"用於該后退導航圖標。

 <android.support.v7.widget.Toolbar
            android:id="@+id/toolbarId"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:navigationIcon="?attr/homeAsUpIndicator"/>

對於導航:

Toolbar toolbar = (ToolBar) getActivity().findViewById(R.id.toolbarId);

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            getActivity().onBackPressed();
        }
    });

在您的片段 onCreateView 中調用此方法

public void showBackButton() {
if (getActivity() instanceof ActionBarActivity) {
    ((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}

試試這對我有用:

  1. 在 XML 中:

     <android.support.v7.widget.Toolbar android:id="@+id/profileToolbar" android:layout_width="match_parent" android:layout_height="wrap_content">
  2. 在 drawable 文件夾中創建一個后退箭頭圖標。 將其命名為“ic_back_button”。 不知道如何:-
    只需右鍵單擊 drawable > new > ImageAsset > Clip Art > Search back > 選擇 > OK > Finish(不要忘記更改名稱)。

  3. 然后在 onCreateView 中的片段中:

     Toolbar toolbar = view.findViewById(R.id.profileToolbar); toolbar.setNavigationIcon(R.drawable.ic_back_button); toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getActivity().onBackPressed(); } });

如果您想從片段返回到以前的位置,它可能會有所幫助。

使用 navController 將其放入您的 class 中。

  @Override
public boolean onSupportNavigateUp() {
    navController.navigateUp();
    return super.onSupportNavigateUp();
}

不要忘記實現相關的依賴項,例如導航和導航 UI。

將此 xml 代碼添加到您的片段中並嘗試

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="#FFFFFF"
        android:layout_gravity="center"
        android:gravity="center_horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Title Here"
            android:typeface="serif"
            android:layout_gravity="center"
            android:id="@+id/toolbar_title"
            android:textSize="20sp"
            android:textColor="@android:color/black"/>

        <ImageView
            android:id="@+id/ivback_water"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:padding="15dp"
            android:scaleType="fitCenter"
            android:layout_gravity="left"
            android:background="@drawable/ic_arrow_back_black_24dp" />


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

您可以輕松做到這一點,如果您使用放置在自定義頂部應用欄上的定義后退按鈕,您可以在按鈕的onClick()函數中調用.. getActivity().onBackPressed(); 它的工作原理與您點擊了 android 導航的后退按鈕一樣......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM