我需要创建一个看起来像带有圆角的对话框的活动。
对于这个要求,我设置了
android:theme="@android:style/Theme.Dialog"
现在我的活动看起来像一个对话框,但我需要将其四舍五入。
然后我创建了带属性的xml并将此drawable设置为我的活动主题,但现在我的活动看起来不像对话框。
请建议我可以做什么,以便我的活动看起来像带圆角的对话框。
答案 0 :(得分:36)
你可以制作自己的圆角theme
。首先,drawable
背景需要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>
接下来制作扩展父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>
这将位于styles.xml
文件夹中名为res/values
的文件中。在Android清单中为您想要的Activity
使用此主题:
//...
<activity
android:name=".ActivityName"
android:label="@string/app_name"
android:theme="@style/ThemeWithCorners" >
//...
答案 1 :(得分:0)
首先,创建一个可绘制的圆角形状,如下所示:
dialogbg.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="15dp" />
</shape>
然后,转到你的活动的布局xml文件,并改变它的android:backgorund属性,如此
<RelativeLayout
android:layout_width="..."
android:layout_height="..."
android:background="@drawable/dialogbg">
<!--views here...-->
</RelativeLayout>