14

角が丸いダイアログ ボックスのようなアクティビティを作成する必要があります。

この要件について、私が設定した

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

アクティビティはダイアログ ボックスのように見えますが、角を丸くする必要があります。

次に、属性を使用して xml を作成し、このドローアブルをアクティビティ テーマとして設定しましたが、アクティビティがダイアログ ボックスのように見えなくなりました。

私のアクティビティが角の丸いダイアログボックスのように見えるようにするにはどうすればよいか教えてください。

4

3 に答える 3

44

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>

次に、parent を拡張する独自のテーマを作成します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" >
//...
于 2012-04-09T11:53:14.020 に答える
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>
于 2012-04-09T10:50:09.880 に答える