在材料设计全屏对话应该有动作条/工具栏上的确认和不屑一顾的行动。
我的问题,这是怎么做的?
要显示对话框:
getFragmentManager()的BeginTransaction()
。新增(R.id.container,新MyDialogFragment())
.addToBackStack(空).commit();
我的对话片段:
公共类MyDialogFragment扩展DialogFragment(){
@覆盖
公共查看onCreateView(LayoutInflater充气,容器的ViewGroup,捆绑savedInstanceState){
返回inflater.inflate(R.layout.fragment_layout,集装箱,假);
}
}
解决方案
只有两件事情需要做:
更改了图标 添加菜单片段更改图标:
@覆盖
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
setHasOptionsMenu(真正的);
((ActionBarActivity)getActivity())getSupportActionBar()setDisplayHomeAsUpEnabled(真)。;
((ActionBarActivity) getActivity()).getSupportActionBar().setHomeAsUpIndicator(android.R.drawable.ic_menu_close_clear_cancel);
}
添加保存菜单:
@覆盖
公共无效onCreateOptionsMenu(功能菜单,MenuInflater充气){
inflater.inflate(R.menu.save_menu,菜单);
}
R.menu.save_menu:
< XML版本=1.0编码=UTF-8&GT?;
<菜单
的xmlns:程序=http://schemas.android.com/apk/res-auto
的xmlns:机器人=http://schemas.android.com/apk/res/android>
<项目
机器人:ID =@ + ID /保存
应用程序:showAsAction =永远| withText
机器人:标题=@字符串/保存/>
< /菜单>
Fullscreen dialogs in material design should have the confirmation and dismissive actions on the actionbar/toolbar.
My question, how is this done?
To show the dialog:
getFragmentManager().beginTransaction()
.add(R.id.container, new MyDialogFragment())
.addToBackStack(null).commit();
My dialog fragment:
public class MyDialogFragment extends DialogFragment() {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_layout, container, false);
}
}
解决方案
Only two things need to be done:
Change the up icon Add a menu to the fragmentChanging icon:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
((ActionBarActivity) getActivity()).getSupportActionBar().setHomeAsUpIndicator(android.R.drawable.ic_menu_close_clear_cancel);
}
Add Save menu:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.save_menu, menu);
}
R.menu.save_menu:
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/save
app:showAsAction="always|withText"
android:title="@string/save"/>
</menu>