问题
I'm trying to make a custom dialog shape for my app's dialogs. I've been searching for this topic for hours, but the solutions I find don't work for me, that's why I ask you for my own problem. I want a Dialog with rounded corners and showing a title and then a ScrollView with some text. The only thing that is not working to me is the rounded corners. Here I post you my code:
my AndroidManifest.xml with the activity I want with my rounded-corners Dialog:
<activity
android:name=".AboutNacimiento"
android:label="@string/about_nac_title"
android:theme="@style/Theme.CustomDialogTheme"
android:screenOrientation="nosensor">
</activity>
then my resource with respective styles (res/layout/values/dialogTheme.xml)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.CustomDialogTheme"
parent="@android:style/Theme.Dialog">
<item name="android:windowTitleStyle">@style/dialog_title_style</item>
<item name="android:background">@drawable/rounded_dialog</item>
</style>
<style name="dialog_title_style" parent="@android:Widget.TextView">
<item name="android:background">@color/titulo_color</item>
<item name="android:padding">10dip</item>
<item name="android:textSize">20sp</item>
<item name="android:gravity">center</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/texto_blanco</item>
</style>
and finally the shape I want for my rounded dialog (res/drawable/rounded_dialog.xml) :
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="@color/background_color"/>
<stroke android:color="#7F7F7F" android:width="1dp" />
<corners
android:radius="20dp"/>
</shape>
but the only "rounded" thing I'm getting are some borders in the TextViews...
http://imageshack.us/photo/my-images/515/problemab.jpg
could you please help me to get my desired Dialog?
回答1:
The key thing to remove default android frame is:
MyDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
Here is the full example:
Dialog MyDialog= new Dialog(MyActivity.this);
MyDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
MyDialog.setContentView(R.layout.my_custom_dialog);
MyDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
MyDialog.show();
来源:https://stackoverflow.com/questions/9905315/cant-create-rounded-corners-dialog-android-eclipse