• <i id='8WCtm'><tr id='8WCtm'><dt id='8WCtm'><q id='8WCtm'><span id='8WCtm'><b id='8WCtm'><form id='8WCtm'><ins id='8WCtm'></ins><ul id='8WCtm'></ul><sub id='8WCtm'></sub></form><legend id='8WCtm'></legend><bdo id='8WCtm'><pre id='8WCtm'><center id='8WCtm'></center></pre></bdo></b><th id='8WCtm'></th></span></q></dt></tr></i><div id='8WCtm'><tfoot id='8WCtm'></tfoot><dl id='8WCtm'><fieldset id='8WCtm'></fieldset></dl></div>

    <legend id='8WCtm'><style id='8WCtm'><dir id='8WCtm'><q id='8WCtm'></q></dir></style></legend>
  • <small id='8WCtm'></small><noframes id='8WCtm'>

      <bdo id='8WCtm'></bdo><ul id='8WCtm'></ul>

    1. <tfoot id='8WCtm'></tfoot>

      1. 如何实现材料指南中描述的全屏对话框?

        时间:2023-08-28
        <legend id='sigRG'><style id='sigRG'><dir id='sigRG'><q id='sigRG'></q></dir></style></legend>
          <tbody id='sigRG'></tbody>
      2. <tfoot id='sigRG'></tfoot>

        <small id='sigRG'></small><noframes id='sigRG'>

        1. <i id='sigRG'><tr id='sigRG'><dt id='sigRG'><q id='sigRG'><span id='sigRG'><b id='sigRG'><form id='sigRG'><ins id='sigRG'></ins><ul id='sigRG'></ul><sub id='sigRG'></sub></form><legend id='sigRG'></legend><bdo id='sigRG'><pre id='sigRG'><center id='sigRG'></center></pre></bdo></b><th id='sigRG'></th></span></q></dt></tr></i><div id='sigRG'><tfoot id='sigRG'></tfoot><dl id='sigRG'><fieldset id='sigRG'></fieldset></dl></div>
              • <bdo id='sigRG'></bdo><ul id='sigRG'></ul>

                  本文介绍了如何实现材料指南中描述的全屏对话框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  材料指南描述了全屏对话框的行为.

                  Material guidelines describe the behavior of a full-screen dialog.

                  全屏对话框 |对话框 - 材料设计

                  如何在实践中实现这一目标?

                  How can I achieve this in practice?

                  推荐答案

                  Boss 的回答是正确的,但是缺少问题链接上显示的请求的操作栏.

                  The answer from Boss is correct, but missing the requested action bar as displayed on link in the question.

                  所以,下面的完整示例.

                  So, full example below.

                  对话框片段:

                  public class AKDialogFragment extends DialogFragment {
                  
                  private static final String TAG = "AKDialogFragment";
                  
                  @Override
                  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
                  
                      View rootView = inflater.inflate(R.layout.dialog_ak, container, false);
                  
                      Toolbar toolbar = (Toolbar) rootView.findViewById(R.id.toolbar);
                      toolbar.setTitle("Dialog title");
                  
                      ((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);
                  
                      ActionBar actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
                      if (actionBar != null) {
                          actionBar.setDisplayHomeAsUpEnabled(true);
                          actionBar.setHomeButtonEnabled(true);
                          actionBar.setHomeAsUpIndicator(android.R.drawable.ic_menu_close_clear_cancel);
                      }
                      setHasOptionsMenu(true);
                      return rootView;
                  }
                  
                  @NonNull
                  @Override
                  public Dialog onCreateDialog(Bundle savedInstanceState) {
                      Dialog dialog = super.onCreateDialog(savedInstanceState);
                      dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
                      return dialog;
                  }
                  
                  @Override
                  public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
                      menu.clear();
                      getActivity().getMenuInflater().inflate(R.menu.menu_ak, menu);
                  }
                  
                  @Override
                  public boolean onOptionsItemSelected(MenuItem item) {
                      int id = item.getItemId();
                  
                      if (id == R.id.action_save) {
                          // handle confirmation button click here
                          return true;
                      } else if (id == android.R.id.home) {
                          // handle close button click here
                          dismiss();
                          return true;
                      }
                  
                      return super.onOptionsItemSelected(item);
                  }
                  }
                  

                  布局 dialog_ak.xml:

                  Layout dialog_ak.xml:

                  <?xml version="1.0" encoding="utf-8"?>
                  <android.support.design.widget.CoordinatorLayout
                  xmlns:android="http://schemas.android.com/apk/res/android"
                  xmlns:app="http://schemas.android.com/apk/res-auto"
                  xmlns:tools="http://schemas.android.com/tools"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:fitsSystemWindows="true">
                  
                  <android.support.design.widget.AppBarLayout
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content"
                      android:theme="@style/AppTheme.AppBarOverlay">
                  
                      <android.support.v7.widget.Toolbar
                          android:id="@+id/toolbar"
                          android:layout_width="match_parent"
                          android:layout_height="?attr/actionBarSize"
                          android:background="?attr/colorPrimary"
                          app:popupTheme="@style/AppTheme.PopupOverlay"/>
                  
                  </android.support.design.widget.AppBarLayout>
                  
                  <LinearLayout
                      xmlns:android="http://schemas.android.com/apk/res/android"
                      xmlns:app="http://schemas.android.com/apk/res-auto"
                      xmlns:tools="http://schemas.android.com/tools"
                      android:layout_width="match_parent"
                      android:layout_height="match_parent"
                      android:background="#ffffff"
                      android:orientation="vertical"
                      android:paddingBottom="@dimen/activity_vertical_margin"
                      android:paddingLeft="@dimen/activity_horizontal_margin"
                      android:paddingRight="@dimen/activity_horizontal_margin"
                      android:paddingTop="@dimen/activity_vertical_margin"
                      app:layout_behavior="@string/appbar_scrolling_view_behavior">
                  
                      <TextView
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:text="Your content here"/>
                  
                  </LinearLayout>
                  
                  </android.support.design.widget.CoordinatorLayout>
                  

                  菜单 menu_ak.xml

                  Menu menu_ak.xml

                  <menu xmlns:android="http://schemas.android.com/apk/res/android"
                    xmlns:app="http://schemas.android.com/apk/res-auto"
                    xmlns:tools="http://schemas.android.com/tools">
                    <item
                      android:id="@+id/action_save"
                      android:orderInCategory="100"
                      android:title="Save"
                      app:showAsAction="always"/>
                  </menu>
                  

                  托管活动必须扩展 AppCompatActivity.启动对话框与老板回答中的相同:

                  Hosting activity must extend AppCompatActivity. Launching dialog is the same as in Boss answer:

                  FragmentManager fragmentManager = getSupportFragmentManager();
                  AKDialogFragment newFragment = new AKDialogFragment();
                  FragmentTransaction transaction = fragmentManager.beginTransaction();
                  transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
                  transaction.add(android.R.id.content, newFragment).addToBackStack(null).commit();
                  

                  我希望它对某人有所帮助.

                  I hope it helps someone.

                  这篇关于如何实现材料指南中描述的全屏对话框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:Android 后退按钮和进度对话框 下一篇:哪里可以找到关于 swift alert (UIAlertController) 的清

                  相关文章

                  最新文章

                  1. <legend id='Qp9rG'><style id='Qp9rG'><dir id='Qp9rG'><q id='Qp9rG'></q></dir></style></legend>

                  2. <i id='Qp9rG'><tr id='Qp9rG'><dt id='Qp9rG'><q id='Qp9rG'><span id='Qp9rG'><b id='Qp9rG'><form id='Qp9rG'><ins id='Qp9rG'></ins><ul id='Qp9rG'></ul><sub id='Qp9rG'></sub></form><legend id='Qp9rG'></legend><bdo id='Qp9rG'><pre id='Qp9rG'><center id='Qp9rG'></center></pre></bdo></b><th id='Qp9rG'></th></span></q></dt></tr></i><div id='Qp9rG'><tfoot id='Qp9rG'></tfoot><dl id='Qp9rG'><fieldset id='Qp9rG'></fieldset></dl></div>
                      <bdo id='Qp9rG'></bdo><ul id='Qp9rG'></ul>
                    <tfoot id='Qp9rG'></tfoot>

                    <small id='Qp9rG'></small><noframes id='Qp9rG'>