2012-06-06 31 views
17

Không có Theme.Light.Dialog để sử dụng với phần còn lại của dự án của tôi đang sử dụng Theme.Light.Thay đổi Theme.Dialog trông giống như Theme.Light.Dialog trong Android

Làm cách nào tôi có thể thay đổi Theme.Dialog để trông giống như phiên bản Theme.Light của Dialog.

Tôi biết rằng tôi phải ghi đè các phần của Theme.Dialog trong styles.xml như bên dưới. Tôi nên ghi đè những mục nào với giá trị nào?

<style name="dialog_light" parent="@android:style/Theme.Dialog"> 
    <item name="android:???????"></item> 
    <item name="android:???????"></item> 
</style> 

Tôi chỉ có thể tạo nền có màu xám trắng nhạt, nhưng các nút, bộ xoay vv cũng khác nhau về chủ đề sáng để trông đẹp hơn trên nền sáng.

EDIT

Hình như tôi đã nhận nó làm việc.

<color name="black">#FF000000</color> 
<color name="whitegrey">#FFF2F2F2</color> 

<style name="dialog_light" parent="@android:style/Theme.Dialog"> 
    <item name="@android:windowBackground">@color/whitegrey</item> 
    <item name="@android:textColor">@color/black</item>   
</style> 
+0

Thử [này] (http://pastie.org/4037973) một. – Praveenkumar

Trả lời

29

Có vẻ như tôi đã làm việc đó.

<color name="black">#FF000000</color> 
<color name="whitegrey">#FFF2F2F2</color> 

<style name="dialog_light" parent="@android:style/Theme.Dialog"> 
    <item name="@android:windowBackground">@color/whitegrey</item> 
    <item name="@android:textColor">@color/black</item>   
</style> 
+5

+1 Làm cách nào bạn đã gán kiểu vào hộp thoại? – Roylee

+2

Bạn sẽ chỉ định nó cho một hoạt động bên trong tệp kê khai của bạn để làm cho nó giống như một cuộc đối thoại. (android: theme = "@ style/dialog_light") – Ostkontentitan

+0

Bạn cũng có thể chuyển, R.style.yourstyle làm đối số thứ hai trong khi tạo đối tượng Hộp thoại – SimpleCoder

5

Điều này là tốt, cảm ơn! Tôi chỉ thay đổi một chút: khi tôi chạy những gì bạn đề xuất, toàn bộ màn hình được vẽ bằng màu sau và hộp thoại không giống như nó nên (với hoạt động trước đó bị mờ đi).

Vì vậy, thay vì sử dụng

@android:windowBackground 

chỉ cần sử dụng

@android:background 
7

Tiếp tục đến ở trên, để tránh chiếm màu sắc, tôi đã làm điều này:

<!-- Makes a "light" equivalent of Theme.Dialog --> 
<style name="dialog_light" parent="@android:style/Theme.Dialog"> 
    <item name="@android:background">@android:color/background_light</item> 
    <item name="@android:textColor">@android:color/primary_text_light</item>  
</style> 
Các vấn đề liên quan