[英]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);
}
}
試試這對我有用:
在 XML 中:
<android.support.v7.widget.Toolbar android:id="@+id/profileToolbar" android:layout_width="match_parent" android:layout_height="wrap_content">
在 drawable 文件夾中創建一個后退箭頭圖標。 將其命名為“ic_back_button”。 不知道如何:-
只需右鍵單擊 drawable > new > ImageAsset > Clip Art > Search back > 選擇 > OK > Finish(不要忘記更改名稱)。
然后在 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.