0

丸いエッジでボタンの形状を変更したいのですが、styles.xmlで定義するとどういうわけか機能しません

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

    <style name="ButtonStyle">
        <item name="android:textColor">#00FFFF</item>
        <item name="android:shape">rectangle</item>
        <item name="android:bottomRightRadius">7dp</item>
        <item name="android:bottomLeftRadius">7dp</item>
        <item name="android:topRightRadius">7dp</item>
        <item name="android:topLeftRadius">7dp</item>
    </style>

</resources>

main.xmlボタン

<Button
    android:id="@+id/button4"
    style="@style/ButtonStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_marginRight="31dp"
    android:layout_toLeftOf="@+id/button3"
    android:text="@string/sSettings" />

フォントの色のみが変更されます。私は何が間違っているのですか?

4

3 に答える 3

3

ボタンの背景描画可能を宣言する必要があります。res/drawablesでこれを行います。次のような新しいドローアブルファイルを作成します。

/res/drawable/button_drawable.xml

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners
        android:radius="7dp" />
    <solid android:color="#666666"/>

</shape>

次に、レイアウトで次のことを行います。

<Button
    android:id="@+id/button4"
    style="@style/ButtonStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:background="@drawable/button_drawable"
    android:layout_marginRight="31dp"
    android:layout_toLeftOf="@+id/button3"
    android:text="@string/sSettings" />

各コーナーを設定したい場合は、次の方法でもこれを行うことができます。

<corners android:bottomRightRadius="7dp"
    android:bottomLeftRadius="7dp" 
    android:topLeftRadius="7dp"
    android:topRightRadius="7dp"/>

すべてのオプションについては、こちらをご覧ください。

于 2012-04-23T08:58:00.173 に答える
1

図形を描画可能として定義しrounded_corners.xml、スタイルではボタンの背景として設定するだけです。

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

    <solid android:color="#00FFFF" />

    <corners
        android:bottomLeftRadius="5dp"
        android:bottomRightRadius="7dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="7dp" />

</shape>

とスタイルで:

<style name="Button">            
        <item name="android:background">@drawable/rounded_corners</item>       
</style>
于 2012-04-23T09:03:05.300 に答える
0

私はこれでそれをしました:

<corners android:bottomRightRadius="7dp"
    android:bottomLeftRadius="5dp" 
    android:topLeftRadius="5dp"
    android:topRightRadius="7dp"/>
于 2012-04-23T08:46:21.120 に答える