我需要创建一个看起来像圆角对话框的活动。
对于这个要求,我设置
android:theme="@android:style/Theme.Dialog"
现在我的活动看起来像一个对话框,但我需要把它的角弄圆。
然后我创建了带有属性的 xml 并将这个可绘制对象设置为我的活动主题,但现在我的活动看起来不像对话框。
请建议我可以做什么,以使我的活动看起来像带圆角的对话框。
我需要创建一个看起来像圆角对话框的活动。
对于这个要求,我设置
android:theme="@android:style/Theme.Dialog"
现在我的活动看起来像一个对话框,但我需要把它的角弄圆。
然后我创建了带有属性的 xml 并将这个可绘制对象设置为我的活动主题,但现在我的活动看起来不像对话框。
请建议我可以做什么,以使我的活动看起来像带圆角的对话框。
你可以制作自己的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
。Activity
在你想要的 android manifest 中使用这个主题:
//...
<activity
android:name=".ActivityName"
android:label="@string/app_name"
android:theme="@style/ThemeWithCorners" >
//...
首先,创建一个圆角形状,如下所示:
对话bg.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>
如果对于任何人,上述答案不起作用,请尝试这样做:
需要像上面的任何例子一样首先创建一个圆形:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="8dp" /> </shape>
1.将此形状设置为活动的布局。2.创建如下自定义样式:`
<style name="mycustomtheme" parent="android:Theme.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
</style>
`
现在在您的活动中设置主题
<activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/mycustomtheme" >