android 实现默认标题和自定义标题二、自定义DialogFragment

先上效果图,由于字数问题,后续会可能会出三


图一是在android 实现默认标题和自定义标题一的基础上修改的

android 实现默认标题和自定义标题一_安卓开发中如何设置标题-CSDN博客

我们先实现图一的效果,如果没有看自定义标题一的,建议先看一下

我们是使用的自定义标题不是系统默认的,所以说

AndroidManifest.xml这个文件如果是使用系统默认的就需要该,是自定义的就不需要改

1. SettingsActivity.java 这个类 我们有所改动,把标题变成了透明的,多说无意上代码

public class SettingsActivity extends FragmentActivity {
    MainActivityUtlis mainActivityUtlis = null;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.settings_activity);
        mainActivityUtlis = new MainActivityUtlis();
        final Toolbar toolbar = findViewById(R.id.action_bar);
        if (toolbar != null) {
            toolbar.setVisibility(View.VISIBLE);
            setActionBar(toolbar);//把获取到的资源 放进去
        }
        mainActivityUtlis.setToolbar(SettingsActivity.this,"设置");
    }
2. MainActivityUtlis.java是我的一个工具类,就放出来你们需要的这个方法
    /**
     * 设置状态栏文字颜色和透明
     */
    public void status_bar(Activity activity) {
        try {
            Window window = activity.getWindow();
//设置状态栏文字色为深色,页面内容全屏
            window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
//设置状态栏背景色为透明
            window.setStatusBarColor(Color.TRANSPARENT);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 设置工具栏、状态栏文字颜色和透明
     *
     * @param activity
     * @param title
     */
    public void setToolbar(Activity activity, String title) {
        try {
            ActionBar actionBar = activity.getActionBar();//获取资源有没有需要的Toolbar
            if (actionBar != null) {
                actionBar.setHomeButtonEnabled(true);//左上角 出现一个小箭头返回 是否可以点击
                actionBar.setDisplayHomeAsUpEnabled(true);//左上角 出现一个小箭头返回
                actionBar.setTitle(title);
                actionBar.setDisplayShowTitleEnabled(true);   //以显示标题
                actionBar.setElevation(0);  //支持视图之间的阴影和遮挡关系
            }
            status_bar(activity);
        } catch (Exception e) {
            Log.e(TAG, "setToolbar()" + e.getMessage());
            e.printStackTrace();
        }
    }

如果getActionBar()报错了,去

3. R.layout.settings_activity  这个xml去看一下是不是 Toolbar 没有该过来,我这里使用到的还是自定义标题栏里面的
<LinearLayout
    android:id="@+id/content_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    android:transitionGroup="true"
    android:orientation="vertical">
    <Toolbar
        android:id="@+id/action_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="?android:attr/actionBarTheme" />
    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</LinearLayout>

4. 然后关键的到了 SettingMya.java 这个类改动很大,前面的方法还是老样子。就把工具类初始化了

public class SettingMya extends SettingsActivity {
    static MainActivityUtlis mainActivityUtlis = null;
    private static final String TAG = "SettingMya";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mainActivityUtlis = new MainActivityUtlis();
        try {
            if (savedInstanceState == null) {
                getSupportFragmentManager()//打开另外一个片段
                        .beginTransaction()//打开事务
                        .replace(R.id.content_frame, new SettingsFragment())//先删除在添加  add()是添加
                        .commit();//添加
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 点击右上角的返回图片 就触发下面的方法
     *
     * @param item The menu item that was selected.
     * @return
     */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                onBackPressed();
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }
}

5.然后就到了关键的方法了 SettingsFragment.java 和root_preferences.xml里面使用到的图片都是在iconfont-阿里巴巴矢量图标库里面找的

    public static class SettingsFragment extends PreferenceFragmentCompat implements Preference.OnPreferenceClickListener {

        @Override
        public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
//            addPreferencesFromResource(R.xml.root_preferences);
            setPreferencesFromResource(R.xml.root_preferences, rootKey);
            try {
                Preference LogOut = findPreference("Log_out");
                Preference prefAndroid = findPreference("prefAndroid");
                Preference setting_name = findPreference("setting_name");
                Preference clear_cache = findPreference("clear_cache");
                CheckBoxPreference setting_no_img = findPreference("setting_no_img");


                if (setting_no_img != null && setting_no_img.isChecked()) {
                    setting_no_img.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
                        @Override
                        public boolean onPreferenceChange(@NonNull Preference preference, Object newValue) {
                            final CustomEditTextDialog customDialog = new CustomEditTextDialog();
                            customDialog.setShowToast("功能未开放");
                            customDialog.show(requireActivity().getSupportFragmentManager(), "Function_not_open");
                            customDialog.setVisibility(View.GONE);
                            return false;
                        }
                    });
                }
                if (LogOut != null && clear_cache != null && prefAndroid != null && setting_name != null) {
                    LogOut.setOnPreferenceClickListener(this);
                    setting_name.setOnPreferenceClickListener(this);
                    clear_cache.setOnPreferenceClickListener(this);
                    prefAndroid.setOnPreferenceClickListener(this);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        @Override
        public boolean onPreferenceClick(@NonNull Preference preference) {
            switch (preference.getKey()) {
                case "Log_out":
                    final CustomEditTextDialog customDialog = new CustomEditTextDialog();
                    customDialog.setShowToast("是否退出登录");
                    customDialog.setOnClickListener(new CustomEditTextDialog.OnClickListener() {
                        @Override
                        public void onSureClick(View v) {
                            Intent intent = new Intent(getActivity(), MainActivity.class);
                            mainActivityUtlis.setObtain_status(requireContext(), false);
                            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
                            startActivity(intent);
                            requireActivity().finishAffinity();
                        }

                        @Override
                        public void onCancelClick(View v) {
                            mainActivityUtlis.showToast("取消", requireContext());
                        }
                    });
                    customDialog.show(requireActivity().getSupportFragmentManager(), "loginDialog");
                    break;
                case "clear_cache":
                    Dialog loadingDialog = mainActivityUtlis.createLoadingDialog(requireContext(), "清除缓存中...");
                    Timer timer = new Timer();
                    timer.schedule(new TimerTask() {
                        @Override
                        public void run() {
                            mainActivityUtlis.closeDialog(loadingDialog);
                            mainActivityUtlis.getShowToast(requireActivity(), requireContext(), "清除缓存成功");
                        }
                    }, 1000);
                    break;
                case "prefAndroid":
//                    ACTION_MAIN:(android.intent.action.MAIN)Android程序入口。
//                    ACTION_VIEW: (android.intent.action.VIEW) 显示指定数据。
//                    ACTION_EDIT: (android.intent.action.EDIT) 编辑指定数据。
//                    ACTION_DIAL: (android.intent.action.DIAL) 显示拨号面板。
//                    ACTION_CALL: (android.intent.action.CALL) 直接呼叫Data中所带的号码。
//                    ACTION_ANSWER: (android.intent.action.ANSWER) 接听来电。
//                    ACTION_SEND: (android.intent.action.SEND) 向其他人发送数据(例如:彩信/email)。
//                    ACTION_SENDTO:  (android.intent.action.SENDTO) 向其他人发送短信。
//                    ACTION_SEARCH: (android.intent.action.SEARCH) 执行搜索。
//                    ACTION_GET_CONTENT: (android.intent.action.GET_CONTENT) 让用户选择数据,并返回所选数据


//                    CATEGORY_DEFAULT: (android.intent.category.DEFAULT) Android系统中默认的执行方式,按照普通Activity的执行方式执行。
//                    CATEGORY_HOME: (android.intent.category.HOME) 设置该组件为Home Activity。
//                    CATEGORY_PREFERENCE: (android.intent.category.PREFERENCE) 设置该组件为Preference。
//                    CATEGORY_LAUNCHER: (android.intent.category.LAUNCHER) 设置该组件为在当前应用程序启动器中优先级最高的Activity,通常与入口ACTION_MAIN配合使用。
//                    CATEGORY_BROWSABLE: (android.intent.category.BROWSABLE) 设置该组件可以使用浏览器启动。

                    Intent intent = new Intent(Intent.ACTION_SEND);
                    intent.setClassName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity");
                    intent.putExtra(Intent.EXTRA_TEXT, "获取信息成功");
                    intent.setType("text/*");//此处可发送多种文件
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    intent.addCategory(Intent.CATEGORY_DEFAULT);
                    // 检查是否有能处理此Intent的应用
                    if (AppUtils.isAppInstalled("com.tencent.mobileqq")) {
                        startActivity(intent);
                    } else {
                        mainActivityUtlis.showToast("QQ未安装", requireContext());
                    }
                    break;
                case "setting_name":
                    break;

            }
            return false;
        }
    }
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2017 360OS, All rights reserved. -->

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:settings="http://schemas.android.com/apk/res-auto"
    android:key="qk_my_device_info_pref_screen"
    android:title="@string/app_name">

    <CheckBoxPreference
        android:defaultValue="true"
        android:icon="@drawable/no_graph_img"
        android:key="setting_no_img"
        android:summary="仅在WIFI环境下显示图片"
        android:title="无图模式" />

    <PreferenceCategory android:title="设置">

        <Preference
            android:icon="@drawable/uernam_img"
            android:key="setting_name"
            android:summary="小王"
            android:title="名称" />

        <Preference
            android:icon="@drawable/qq_img"
            android:key="prefAndroid"
            android:summary="敢不敢试试"
            android:title="获取qq" />

    </PreferenceCategory>
    <PreferenceCategory>
        <Preference
            android:icon="@drawable/cache_img"
            android:key="clear_cache"
            android:summary="清除过去缓存、释放空间"
            android:title="清除缓存" />
        <Preference
            android:icon="@drawable/out_logo"
            android:key="Log_out"
            android:title="退出登录" />
    </PreferenceCategory>
</PreferenceScreen>

6.SettingMya.java里面的

我们就使用到了最常用的 Preference 一些事件,如果看不懂,下面加上一份带注释的  SettingMya.java

public class SettingMya extends SettingsActivity {
    static MainActivityUtlis mainActivityUtlis = null;
    private static final String TAG = "SettingMya";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mainActivityUtlis = new MainActivityUtlis();
        try {
            if (savedInstanceState == null) {
                getSupportFragmentManager()//打开另外一个片段
                        .beginTransaction()//打开事务
                        .replace(R.id.content_frame, new SettingsFragment())//先删除在添加  add()是添加
                        .commit();//添加
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 点击右上角的返回图片 就触发下面的方法
     *
     * @param item The menu item that was selected.
     * @return
     */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                onBackPressed();
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }

    /**
     * 允许你轻松地创建和管理复杂的设置界面,同时保持了对各种 Android 版本的兼容性。
     */
    public static class SettingsFragment extends PreferenceFragmentCompat implements Preference.OnPreferenceClickListener {

        @Override
        public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
//            addPreferencesFromResource(R.xml.root_preferences);

            setPreferencesFromResource(R.xml.root_preferences, rootKey);//该函数用于从指定的资源文件中加载偏好设置。其中,R.xml.root_preferences指定了资源文件的ID
            try {
                Preference LogOut = findPreference("Log_out");//它通过findPreference方法查找不同的偏好设置项  和 findViewById()使用方式差不多
                Preference prefAndroid = findPreference("prefAndroid");
                Preference setting_name = findPreference("setting_name");
                Preference clear_cache = findPreference("clear_cache");
                CheckBoxPreference setting_no_img = findPreference("setting_no_img");

/**
 * 为 setting_no_img 设置一个监听器。当监听器的 onPreferenceChange 方法被调用时,会创建一个 CustomEditTextDialog 对话框并显示出来
 */
                if (setting_no_img != null && setting_no_img.isChecked()) {
                    setting_no_img.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
                        @Override
                        public boolean onPreferenceChange(@NonNull Preference preference, Object newValue) {
                            final CustomEditTextDialog customDialog = new CustomEditTextDialog();
                            customDialog.setShowToast("功能未开放");
                            customDialog.show(requireActivity().getSupportFragmentManager(), "Function_not_open");
                            customDialog.setVisibility(View.GONE);
                            return false;
                        }
                    });
                }

                /**
                 * 在都不等于null的情况下,设置点击事件监听器
                 */
                if (LogOut != null && clear_cache != null && prefAndroid != null && setting_name != null) {
                    LogOut.setOnPreferenceClickListener(this);
                    setting_name.setOnPreferenceClickListener(this);
                    clear_cache.setOnPreferenceClickListener(this);
                    prefAndroid.setOnPreferenceClickListener(this);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        /**
         * 这个函数是用于处理用户在设置界面点击条目时的事件。具体来说,根据用户点击的条目不同,函数会执行不同的操作:
         * 如果用户点击了"Log_out"条目,函数会弹出一个对话框,询问用户是否确定退出登录。如果用户点击确定,函数会启动一个跳转到MainActivity的Intent,清除登录状态,并结束当前Activity;如果用户点击取消,函数会显示一个Toast提示信息。
         * 如果用户点击了"clear_cache"条目,函数会弹出一个加载中的对话框,并在1秒后关闭对话框,并显示一个Toast提示信息,告知用户缓存已清除成功。
         * 如果用户点击了"prefAndroid"条目,函数会启动一个分享文本的Intent,将文本内容设置为"获取信息成功",并检查手机是否安装了QQ应用。如果已安装,函数会将Intent发送给QQ应用,否则会显示一个Toast提示信息。
         * 如果用户点击了"setting_name"条目,还在做
         *
         * @param preference The preference that was clicked
         * @return
         */
        @Override
        public boolean onPreferenceClick(@NonNull Preference preference) {
            switch (preference.getKey()) {
                case "Log_out":
                    final CustomEditTextDialog customDialog = new CustomEditTextDialog();
                    customDialog.setShowToast("是否退出登录");
                    customDialog.setOnClickListener(new CustomEditTextDialog.OnClickListener() {
                        @Override
                        public void onSureClick(View v) {
                            Intent intent = new Intent(getActivity(), MainActivity.class);
                            mainActivityUtlis.setObtain_status(requireContext(), false);
                            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
                            startActivity(intent);
                            requireActivity().finishAffinity();
                        }

                        @Override
                        public void onCancelClick(View v) {
                            mainActivityUtlis.showToast("取消", requireContext());
                        }
                    });
                    customDialog.show(requireActivity().getSupportFragmentManager(), "loginDialog");
                    break;
                case "clear_cache":
                    Dialog loadingDialog = mainActivityUtlis.createLoadingDialog(requireContext(), "清除缓存中...");
                    Timer timer = new Timer();
                    timer.schedule(new TimerTask() {
                        @Override
                        public void run() {
                            mainActivityUtlis.closeDialog(loadingDialog);
                            mainActivityUtlis.getShowToast(requireActivity(), requireContext(), "清除缓存成功");
                        }
                    }, 1000);
                    break;
                case "prefAndroid":
//                    ACTION_MAIN:(android.intent.action.MAIN)Android程序入口。
//                    ACTION_VIEW: (android.intent.action.VIEW) 显示指定数据。
//                    ACTION_EDIT: (android.intent.action.EDIT) 编辑指定数据。
//                    ACTION_DIAL: (android.intent.action.DIAL) 显示拨号面板。
//                    ACTION_CALL: (android.intent.action.CALL) 直接呼叫Data中所带的号码。
//                    ACTION_ANSWER: (android.intent.action.ANSWER) 接听来电。
//                    ACTION_SEND: (android.intent.action.SEND) 向其他人发送数据(例如:彩信/email)。
//                    ACTION_SENDTO:  (android.intent.action.SENDTO) 向其他人发送短信。
//                    ACTION_SEARCH: (android.intent.action.SEARCH) 执行搜索。
//                    ACTION_GET_CONTENT: (android.intent.action.GET_CONTENT) 让用户选择数据,并返回所选数据


//                    CATEGORY_DEFAULT: (android.intent.category.DEFAULT) Android系统中默认的执行方式,按照普通Activity的执行方式执行。
//                    CATEGORY_HOME: (android.intent.category.HOME) 设置该组件为Home Activity。
//                    CATEGORY_PREFERENCE: (android.intent.category.PREFERENCE) 设置该组件为Preference。
//                    CATEGORY_LAUNCHER: (android.intent.category.LAUNCHER) 设置该组件为在当前应用程序启动器中优先级最高的Activity,通常与入口ACTION_MAIN配合使用。
//                    CATEGORY_BROWSABLE: (android.intent.category.BROWSABLE) 设置该组件可以使用浏览器启动。

                    Intent intent = new Intent(Intent.ACTION_SEND);
                    intent.setClassName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity");
                    intent.putExtra(Intent.EXTRA_TEXT, "获取信息成功");
                    intent.setType("text/*");//此处可发送多种文件
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    intent.addCategory(Intent.CATEGORY_DEFAULT);
                    // 检查是否有能处理此Intent的应用
                    if (AppUtils.isAppInstalled("com.tencent.mobileqq")) {
                        startActivity(intent);
                    } else {
                        mainActivityUtlis.showToast("QQ未安装", requireContext());
                    }
                    break;
                case "setting_name":
                    break;

            }
            return false;
        }
    }
}

然后这时候的效果是后报错的,因为  CustomEditTextDialog  是自定义的DialogFragment

图二就是标题说的自定义DialogFragment

先看他的 my_dialog,大概就是这样

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="270dp"
        android:layout_height="wrap_content"
        android:background="@drawable/background_view_rounded_single"
        android:orientation="vertical">

        <TextView
            android:id="@+id/titles"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="15dp"
            android:layout_marginRight="15dp"
            android:gravity="center_horizontal"
            android:text="提示"
            android:textColor="@color/text_black"
            android:textSize="19sp" />


        <TextView
            android:id="@+id/titless"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="10dp"
            android:layout_marginRight="15dp"
            android:layout_marginBottom="10dp"
            android:gravity="center"
            android:lineSpacingExtra="5dp"
            android:text="内容"
            android:textColor="@color/text_black"
            android:textSize="19sp" />

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#DFDFDF" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/dialog_confirm_cancle"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:clickable="true"
                android:gravity="center"
                android:text="@string/ok"
                android:textColor="@color/text_red"
                android:textSize="17sp" />

            <View
                android:layout_width="1dp"
                android:layout_height="match_parent"
                android:background="#DFDFDF" />


            <TextView
                android:id="@+id/dialog_confirm_sure"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:clickable="true"
                android:gravity="center"
                android:text="@string/cancel"
                android:textColor="@color/text_blue"
                android:textSize="17sp" />

        </LinearLayout>
    </LinearLayout>
</LinearLayout>
package com.go.myapplicatio.utils;

import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.DialogFragment;



import java.util.Timer;
import java.util.TimerTask;

public class CustomEditTextDialog extends DialogFragment {
    private TextView btnSure;
    private TextView btnCancle;
    private TextView content;
    private OnClickListener mListener;
    String title1;
    private int Visibility_state = View.VISIBLE;
    private EditText editText;

    public interface OnClickListener {
        void onSureClick(View v);

        void onCancelClick(View v);
    }

    /**
     * 初始化
     * @return
     */
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.my_dialog, container);
        content = (TextView) view.findViewById(R.id.titless);
        content.setText(title1);
        btnSure = (TextView) view.findViewById(R.id.dialog_confirm_sure);
        btnCancle = (TextView) view.findViewById(R.id.dialog_confirm_cancle);
        editText=(EditText)view.findViewById(R.id.edittext);
        /**
         * 取消
         */
        btnSure.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mListener != null) {
                    mListener.onCancelClick(v);
                }
                dismiss();
            }
        });
        /**
         * 确定
         */
        btnCancle.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mListener != null) {
                    mListener.onSureClick(v);
                }
                dismiss();
            }
        });
        return view;
    }

    public void setShowToast(String message) {
        this.title1 = message;
    }

    /**
     * 当对话框被创建时调用此方法。
     * 在这里初始化对话框的样式,使其没有标题,并应用自定义的样式。
     *
     * @param savedInstanceState 如果对话框以前被保存过状态,这里将包含那个状态;否则为null。
     */
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 设置对话框风格为无标题,并应用自定义样式R.style.CustomDialog
        setStyle(STYLE_NO_TITLE, R.style.CustomDialog);
    }

    /**
     * 设置点击事件监听器。
     */
    public void setOnClickListener(OnClickListener listener) {
        mListener = listener;
    }
}
    <style name="CustomDialog" parent="@android:style/Theme.Dialog">
        <!--这个说明提示框是否有边框-->
        <item name="android:windowFrame">@null</item>
        <!--这个说明提示框是否是浮动的-->
        <item name="android:windowIsFloating">true</item>
        <!--这个说明提示框是滞是透明的-->
        <item name="android:windowIsTranslucent">false</item>
        <!--这个说明提示框是否有标题-->
        <item name="android:windowNoTitle">true</item>
        <!--这个说明提示框的背景颜色是什么-->
        <item name="android:windowBackground">@drawable/background_view_rounded_single</item>
        <!--这个说明是否充许对话框的背景变暗。为true则充许变暗-->
        <item name="android:backgroundDimEnabled">true</item>
    </style>
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值