4

的顏色我有一個ProgressDialog看起來像這樣上的Galaxy Tab 10.1"
enter image description here如何改變ProgressDialog

像這樣在Galaxy Tab的7"
enter image description here

我希望兩個對話框看起來相同:
,我得到的是使用下面的樣式

<style name="popupStyle" parent="android:Theme.Dialog">
<item name="android:textColor">#FFFFFFFF</item>
<item name="android:background">#FF000000</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>

最近

導致該 enter image description here

所以我的問題是:
- 如何刪除圍繞「請稍候」稱號的邊界?
- 如何將整個邊框從藍色更改爲白色?
- 如何調整/縮小寬度?

回答

1

article可能會給你一些提示你的樣式對話框,他們看起來是一樣的兩個目標。

+0

這是一個有趣的文章。我應用了不同的ColorFilter,使所有的灰度。 – 2012-01-04 16:55:28

+0

在這裏發佈一些代碼作爲鏈接只有答案在SO上折舊。 – Gattsu 2016-12-28 08:29:54

+0

簡直無法相信沒有人提出最好的答案。 – Borzh 2017-12-20 01:57:59

9
progressDialog = new ProgressDialog(context):  
progressDialog.show(); 
TextView tv1 = (TextView) progressDialog.findViewById(android.R.id.message); 
tv1.setTextSize(20); 
tv1.setTypeface(yourCustomTF); 
tv1.setText("your msg"); 

通過這樣做,你可以更改消息文本,並通過從所顯示的ProgressDialog得到他們的部件定製整個視圖。請記住,您可以通過在progressDialog.show()之後使用findViewById()來獲取視圖ID,因爲視圖是在show()之後生成的。

+0

我沒有擺脫使用你的建議,藍色背景的,雖然我認爲它應該有可能還succeeed。如果我能得到它的工作,它可能比我們接受的解決方案更清潔。 – 2012-01-04 16:58:20

+0

它在tv1.setTextSize(20);處引發NullPointerException。節目生成後它不會得到viewbyid。 – lifemoveson 2012-05-16 16:22:49

+1

其工作在我的最後,這裏'android.R.id.message'是TextView的id,Android平臺用來顯示進度對話框上的消息。你應該學習ProgressDialog類以獲得更好的理解。如果你不使用progressDialog.show();在從progressDialog獲取tv1之前,那麼tv1將是一個空指針異常。 – 2012-05-17 11:41:25