首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android Dialog 去除標題欄:自定義主題樣式

     編輯:程式設計綜合問答

方法一:代碼設置主題

Dialog dialog = new Dialog(this, R.style.NoTitleDialog);
dialog.setContentView(R.layout.dialog_layout);
dialog.show();

方法二:styles.xml 定義樣式

<style name="NoTitleDialog" parent="android:style/Theme.Dialog">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
</style>

方法三:AlertDialog.Builder

new AlertDialog.Builder(this)
    .setTitle("") // 空標題
    .setView(R.layout.dialog_layout)
    .show();

推薦:DialogFragment

public class MyDialogFragment extends DialogFragment {
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        return new AlertDialog.Builder(requireActivity())
            .setView(R.layout.dialog_layout)
            .create();
    }
    @Override
    public void onStart() {
        super.onStart();
        Dialog dialog = getDialog();
        if (dialog) dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); // 再次確保
    }
}

DialogFragment 生命周期管理更安全,避免窗口泄漏。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved