亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android:如何創建沒有標題的對話框?

Android:如何創建沒有標題的對話框?

瀟瀟雨雨 2019-11-05 15:38:56
我正在嘗試在Android中生成自定義對話框。我這樣創建對話框:dialog = new Dialog(this);dialog.setContentView(R.layout.my_dialog);除了對話框的標題,一切都正常。即使我沒有設置對話框的標題,對話框的彈出窗口在對話框的位置也會有一個空格。有什么辦法可以隱藏對話框的這一部分嗎?我用AlertDialog嘗試過,但似乎布局設置不正確:LayoutInflater inflater =     (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);View view = inflater.inflate(R.layout.map_dialog, null);AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setView(view);// dialog = new Dialog(this);// dialog.setContentView(R.layout.map_dialog);dialog = builder.create();((TextView) dialog.findViewById(R.id.nr)).setText(number);如果使用此代碼,則在最后一行中將獲得空的Pointer Exception。該對話框不為null,因此我嘗試檢索的TextView不存在。如果取消注釋使用“對話框構造器”的部分,則一切正常,但對話框布局上方的標題除外。
查看完整描述

3 回答

?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

從頭開始創建對話框時,FEATURE_NO_TITLE可以工作,如下所示:


Dialog dialog = new Dialog(context);

dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

但是在創建AlertDialog(或使用Builder)時它不起作用,因為它已禁用標題并在內部使用自定義標題。


我看過SDK的來源,但我認為它無法解決。因此,要刪除頂部間距,唯一的解決方案是直接使用Dialog類從頭開始創建IMO自定義對話框。


同樣,可以使用一種樣式來做到這一點,例如在styles.xml中:


<style name="FullHeightDialog" parent="android:style/Theme.Dialog">

   <item name="android:windowNoTitle">true</item>

</style>

接著:


Dialog dialog = new Dialog(context, R.style.FullHeightDialog);


查看完整回答
反對 回復 2019-11-05
  • 3 回答
  • 0 關注
  • 460 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號