如何將操作欄添加到DialogFragment
?我找到了一種按照我們需要的方式設置活動風格的方法,然後將其顯示爲對話框,如下面的鏈接ActionBar in a DialogFragment我需要在適當的DialogFragment
上設置操作欄。可能嗎?如何將操作欄添加到DialogFragment?
2
A
回答
4
由於Up ActionBar action on DialogFragment 表明:有沒有辦法的動作條連接到DialogFragment即使你可以設置它不會註冊爲動作條給它的DialogFragment的主題,Dialog.getActionBar()將始終返回null。
但總是有這樣的情況,我真的想使用DialogFragment(其中包含ActionBar樣式)而不是Activity。只需添加一個佈局看起來像一個動作條到DialogFragment的佈局
以下的步驟: 1)DialogFragment佈局:about_dialog.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/white" >
<include android:id="@+id/fake_action_bar"
layout="@layout/fake_action_bar_with_backbotton" />
2)實現諸如佈局的動作條:fake_action_bar_with_backbotton。 XML
<?xml version="1.0" encoding="utf-8"?>
<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/fake_action_bar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
app:navigationIcon="@drawable/ic_menu_back"
android:background="@color/background_material_dark"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
注:@繪製/ ic_menu_back從SDK \平臺\複製Android的21 \ DATA \水庫\繪製,華電國際
3)更新DialogFragment代碼
public class AboutDialogFragment extends DialogFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// use Theme_Holo_Light for full screen
// use Theme_Holo_Dialog for not full screen
// first parameter: DialogFragment.STYLE_NO_TITLE no title
setStyle(DialogFragment.STYLE_NO_FRAME, android.R.style.Theme_Holo_Light_DarkActionBar);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.about_dialog, container, false);
// set the listener for Navigation
Toolbar actionBar = (Toolbar) v.findViewById(R.id.fake_action_bar);
if (actionBar!=null) {
final AboutDialogFragment window = this;
actionBar.setTitle(R.string.about_title);
actionBar.setNavigationOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
window.dismiss();
}
});
}
return v;
}
}
希望它可以幫助!
相關問題
- 1. 如何添加操作欄
- 2. 如何將後退按鈕添加到操作欄/工具欄
- 3. android將背景添加到操作欄
- 4. 將操作添加到Eclipse工具欄
- 5. 如何將EditText添加到DialogFragment?
- 6. 如何將動畫添加到DialogFragment?
- 7. 添加操作欄
- 8. 如何將標籤添加到操作欄之外的視圖?
- 9. Android如何將圖標添加到操作欄?
- 10. 如何將微調添加到上下文操作欄?
- 11. 如何將搜索添加到操作欄?
- 12. 如何將圖像添加到操作欄?
- 13. 如何將一個按鈕添加到操作欄?
- 14. 如何將我的操作欄添加到我的視圖班?
- 15. 如何將操作欄項添加到第二個活動
- 16. 如何使用actionbarsherlock將菜單項添加到操作欄?
- 17. 如何將新片段添加到操作欄sherlock tabbed fragment layout?
- 18. 如何將搜索添加到操作欄
- 19. Android:如何將兩個按鈕添加到操作欄中
- 20. 如何將操作添加到pushnotification alertview?
- 21. 如何將操作添加到SneakyButtonSkinnedBase? (COCOS2d)
- 22. 如何將操作添加到Visio(2003)
- 23. 將操作添加到DefaultMutableTreeNode
- 24. 如何將操作按鈕/操作添加到UILocalNotification警報中?
- 25. 將Android徽標添加到操作欄時遇到問題
- 26. 如何通過鈦加速器將徽章添加到操作欄菜單項?
- 27. 如何在DialogFragment中選擇文本時禁用操作欄?
- 28. 如何將微調添加到動作欄的標題欄?
- 29. 將操作項目添加到直接打開鏈接的操作欄
- 30. 將按鈕添加到安卓操作欄
不,不是。爲什麼你需要特別的'ActionBar'? – adneal
Thanx adneal爲您的興趣,我可以解決我的問題,因爲操作欄可以添加到片段和對話框片段是片段類的子類。 –
有一種方法可以附加工具欄,與工具欄相同。這裏:http://stackoverflow.com/a/38917527/878126 –