Android的全屏对话框确认和不屑一顾行动全屏、对话框、行动、Android

2023-09-05 06:10:11 作者:星星偷走睡意

在材料设计全屏对话应该有动作条/工具栏上的确认和不屑一顾的行动。

我的问题,这是怎么做的?

Android 对话框 1 管理对话框

要显示对话框:

  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:程序=htt​​p://schemas.android.com/apk/res-auto
   的xmlns:机器人=htt​​p://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 fragment

Changing 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>