2014-04-14 50 views
1

我正在處理具有多個複選框的警報對話框。如何更改複選框列表元素的文本大小? (我可以更改標題的大小和按鈕就好)如何在警報對話框中更改複選框列表的文本大小

boolean[] allBoolean = {true, true, true, true, true, true, true, true}; 

AlertDialog.Builder prompt = new AlertDialog.Builder(Class.this); 
prompt.setTitle("Title"); 
prompt.setMultiChoiceItems(all, allBoolean, new DialogInterface.OnMultiChoiceClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int which, boolean isChecked) { 
     allBoolean[which] = isChecked; 
    } 
}); 
prompt.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int which) { 
     //do nothing 
    } 
}); 
prompt.setPositiveButton("Select", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int which) { 
     //do something 
    } 
}); 
+0

你應該去自定義對話框 – TheLittleNaruto

回答

0
alertDialog.show(); 
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); 

lp.copyFrom(alertDialog.getWindow().getAttributes()); 
lp.width = 150; 
lp.height = 500; 
lp.x=-170; 
lp.y=100; 
alertDialog.getWindow().setAttributes(lp); 
+0

對不起,如果我失去了一些東西。你的代碼如何改變文本大小? – user2323030

+0

看到另一個答案希望它有幫助! –

-1

其實你可以得到訪問消息的TextView中很容易地,然後改變它的大小。我測試了一個更大的尺寸,但是你可以使用任何你想要的尺寸。文本會很好地滾動,因爲它已經做到了。視圖的ID是android.R.id.message:

AlertDialog dialog = new AlertDialog.Builder(this).setMessage("Hello world").show(); 
TextView textView = (TextView) dialog.findViewById(android.R.id.message); 
textView.setTextSize(40); 

這可能是一個更清潔的解決方案,但我不知道是否有一個風險,即TextView的可能是空或不是。

+0

這隻會改變消息的文本大小。它不會更改多選元素的文本大小。 – user2323030