2011-11-04 43 views
5

Khi tôi chạy mã này, hộp thoại cảnh báo được hiển thị nhưng có một đường viền màu trắng xung quanh hộp thoại và các đường viền cũng hơi tròn. Tôi không muốn biên giới trắng này và tôi muốn có góc thực với góc 90. Tôi hy vọng bạn hiểu những gì tôi đang cố gắng làm.Thay đổi kiểu của AlertDialog

 AlertDialog.Builder ad = new AlertDialog.Builder(this); 
     Button bbb=new Button(MvcnContactList.this); 
     ad.setView(bbb); 
     alertDialog = ad.create(); 
     alertDialog.show(); 

enter image description here

Có cách nào để tạo kiểu hộp thoại cảnh báo nhưng không phải là màu chữ hoặc kích thước văn bản hoặc một cái gì đó tương tự ... Tôi muốn phong cách biên giới của hộp thoại cảnh báo, vì vậy chỉ cần một thiết chủ đề có thể là giải pháp cho vấn đề này. Nhưng tôi không biết những gì thuộc tính để ghi đè lên.

Cảm ơn,

EDIT: Ví dụ kiểu này ghi đè Format để 00FF00, và đó là mát mẻ, nhưng mà tài sản tôi nên ghi đè để làm cho các góc không tròn và tho loại bỏ boreder trắng

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="AlertDialogCustom" parent="@android:style/AlertDialog"> 
     <item name="android:textColor">#00FF00</item> 
     <item name="android:typeface">monospace</item> 
     <item name="android:textSize">10sp</item> 
    </style> 
</resources> 
+1

Có lẽ điều này có thể giúp bạn: http://stackoverflow.com/questions/2422562/how-to-change-theme-for-alertdialog – rockeye

+0

nó là liên kết tốt, nhưng tôi không ghi đè các thuộc tính cho đường biên ... – Lukap

Trả lời

15

Tôi tìm thấy giải pháp với trình bao bọc, nơi bạn có thể đặt chủ đề (kiểu) thành bất kỳ thứ gì trong ngữ cảnh hiện tại. Tôi đặt R.style.MyTheme làm kiểu cho hộp thoại cảnh báo của mình và tôi tùy chỉnh chế độ xem đó theo sở thích của riêng tôi.

ContextThemeWrapper ctw = new ContextThemeWrapper(this, R.style.MyTheme); 
     AlertDialog.Builder builder= new AlertDialog.Builder(ctw); 
+2

Nhưng bạn đã ghi đè thuộc tính nào trong chủ đề để xóa các góc và đường tròn được làm tròn? Tôi đang gặp vấn đề tương tự .. –

+0

bạn có thể giải thích/cung cấp mẫu mã cho cách bạn đã xóa đường viền màu trắng không? –

1

Bạn đã trả lời câu hỏi của bạn mình, nhưng nó không làm việc cho tôi, vì vậy đây là câu trả lời hy vọng của tôi là hữu ích cho tất cả mọi người, những người cần nó:

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

</style> 

Đặt phong cách này trong res \ giá trị \ phong cách .xml tệp và chỉ đặt chủ đề hoạt động của bạn vào tệp trong Tệp kê khai của bạn. Như thế này:

android:theme="@style/PauseDialog" 
Các vấn đề liên quan