2012-04-09 38 views
9

Tôi cần tạo một hoạt động trông giống như hộp thoại có góc được làm tròn.cách tạo chủ đề hộp thoại tròn cho hoạt động

Đối với yêu cầu này tôi đặt

android:theme="@android:style/Theme.Dialog" 

Bây giờ hoạt động của tôi trông giống như một hộp thoại nhưng tôi cần góc của nó được làm tròn.

Sau đó, tôi đã tạo xml với thuộc tính và đặt đối tượng này làm chủ đề hoạt động nhưng giờ đây hoạt động của tôi không giống hộp thoại.

Vui lòng đề xuất tôi có thể làm gì để hoạt động của tôi trông giống như hộp thoại có góc tròn.

Trả lời

31

Bạn có thể tự làm theme của riêng mình đã làm tròn các góc. Trước tiên, bạn sẽ cần một drawable cho nền Activity:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" > 

    <corners android:radius="15dp" /> 

    <solid android:color="#565656" /> 

    <stroke 
     android:width="3dp" 
     android:color="#ffffff" /> 

    <padding 
     android:bottom="6dp" 
     android:left="6dp" 
     android:right="6dp" 
     android:top="3dp" /> 

</shape> 

Tiếp làm chủ đề của riêng bạn mà kéo dài phụ huynh Theme.Dialog:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <style name="ThemeWithCorners" parent="android:Theme.Dialog"> 
     <item name="android:windowBackground">@drawable/another_test_drawable</item> 
    </style> 


</resources> 

này sẽ nằm trong một file có tên styles.xml trong thư mục res/values. Sử dụng chủ đề này trong manifest android cho Activity bạn muốn:

//... 
<activity 
      android:name=".ActivityName" 
      android:label="@string/app_name" 
      android:theme="@style/ThemeWithCorners" > 
//... 
+0

xin vui lòng thân yêu của tôi không câu trả lời của bạn có thể được áp dụng cho kem sanddish alertdialog, tôi thử nhưng nó không hoạt động, không thể có được góc tròn, nhờ –

+0

câu trả lời tốt nhờ –

+0

Cảm ơn bạn đã sử dụng một chủ đề. Chỉ cần thiết lập drawable như nền không làm cho các bit góc trong suốt. –

0

Đầu tiên, tạo một hình dạng góc drawable tròn như vậy:

dialogbg.xml:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <corners android:radius="15dp" /> 
</shape> 

Sau đó, đi đến cách bố trí file xml cho hoạt động của bạn, và thay đổi nó là android: backgorund thuộc tính như do đó

<RelativeLayout 
    android:layout_width="..." 
    android:layout_height="..." 
    android:background="@drawable/dialogbg"> 
    <!--views here...--> 
</RelativeLayout> 
+2

Saarraz, Nhờ sự giúp đỡ của bạn, nhưng tôi đã cố gắng giải pháp trên, nó thay đổi hình dạng của bố trí nhưng không phải là hoạt động thực tế. – brig

Các vấn đề liên quan