2013-03-20 190 views
0

我需要一種方法來刪除Android添加到對話框的視圖內容的2px灰色邊框。我已經嘗試了本網站上標記爲「確定」的大部分解決方案。期望的最終結果就是最後的圖像中呈現的(一個對話框顯示只是我的看法,而不由Android添加任何額外的UI元素)Android對話框,刪除薄灰色邊框(〜2px)sorrounding對話框

這是當前的代碼:

AlertDialog.Builder builder = new Builder(this); 
builder.setView(dialogContent); //a view inflated from xml 
... 
chooseActionDialog = builder.create(); 
... 
chooseActionDialog.setView(dialogContent, 0, 0, 0, 0); //this removed the padding between grey border & actual content.. this is why i set view twice 
chooseActionDialog.show(); 
... 
Drawable d = new ColorDrawable(Color.TRANSPARENT);  
chooseActionDialog.getWindow().setBackgroundDrawable(d); //this seems to change color of padding area (between grey border & actual content) 

注:建造構造器與2個PARAMS (上下文的ThemeID)如預期doenst工作(仍然有邊界&對話框被streched醜)

enter image description here

+1

當我的用戶,我討厭當開發商堅持把玩的GUI,試圖讓他們「KEWL」。他們通常會失敗,[KISS](http://en.wikipedia.org/wiki/KISS_principle)! – 2013-03-20 07:55:33

+0

kewl,但我不是用戶,只是可憐的奴隸開發者.. – pulancheck1988 2013-03-20 08:37:50

回答

3

中值的style.xml創建UR自己的風格文件夾,如下圖所示

<style name="Theme.Trans" parent="android:Theme.Translucent"> 
    <item name="android:windowFrame">@null</item> 
    <item name="android:windowBackground">@android:color/transparent</item> 
    <item name="android:windowIsFloating">true</item> 
    <item name="android:windowContentOverlay">@null</item> 
    <item name="android:windowTitleStyle">@null</item> 
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> 
    <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item> 
    <item name="android:backgroundDimEnabled">false</item> 
    <item name="android:background">@android:color/transparent</item> 
</style> 

應用這種風格到您的對話框

final Dialog dialog = new Dialog(UrActivity.this, R.style.Theme_Trans); 
+2

我測試了與構建器構造(構建器(上下文,主題Id))相同的想法,但結果並不令人滿意。使用你的代碼示例,對話框完全透明..所以謝謝 – pulancheck1988 2013-03-20 08:29:23