0
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:shape="rectangle">    
    <solid android:color="#EAEAEA"/>    

    <corners android:bottomLeftRadius="5dip"
                android:topRightRadius="5dip"
                android:topLeftRadius="5dip"
                android:bottomRightRadius="5dip"
    />
</shape>

gradient imageボタンの背景として設定するにはどうすればよいですか。プロパティのグラデーションが表示されますが、背景を保持している属性が表示されません。

:私は非常に新しいAndroid開発です。

4

3 に答える 3

3

あなたが示した XML がグラデーションとどのように関係しているのかわかりません。drawableフォルダー内の XML ファイルでグラデーションを定義できます。

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient 
        android:startColor="#FFFFFFFF" 
        android:endColor="#FFD9D9D9"
        android:angle="270"
     />
    <corners android:bottomLeftRadius="5dip"
             android:topRightRadius="5dip"
             android:topLeftRadius="5dip"
             android:bottomRightRadius="5dip"
    />
</shape>

(たとえば、これを として保存しますmy_gradient.xml)

次に、レイアウト xml ファイルに次のものを含めることができます。

<Button android:id="@+id/ButtonStart"
    android:layout_width="100dp" android:layout_height="wrap_content"
    android:background="@drawable/my_gradient"
    android:textColor="@color/white" android:textSize="14sp"
    android:textStyle="bold" android:text="@string/game_start"/>
于 2012-10-18T13:56:52.013 に答える
2

シェイプは正しい方向にありますが、ソリッドの代わりにグラデーションを使用できます

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">    
     <gradient
        android:angle="270"
        android:endColor="@color/gradient_bottom"
        android:startColor="@color/gradient_top" />    

    <corners android:bottomLeftRadius="5dip"
            android:topRightRadius="5dip"
            android:topLeftRadius="5dip"
            android:bottomRightRadius="5dip"
    />
</shape>

上記の形状がgradient_background.xmlとして保存され、それをドローアブルフォルダー(あるべき場所)に保存したと仮定します。これで、このドローアブルをボタンの背景として使用できます

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/gradient_background"
    android:text="Button" />
于 2012-10-18T13:59:31.823 に答える
2

XML でグラデーションを定義するか、画像を使用する必要があります (丸みを帯びた角が含まれます)。XML 形状と画像の両方を簡単に混在させることはできません (少なくとも、初心者なので、最初は単純なものを使用することをお勧めします)。

例えば:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:startColor="#474946"
        android:endColor="#181818"
        android:angle="270"/>
    <corners android:radius="5dp" />
</shape>

次に、を使用してボタンの背景を定義できます。android:background="@drawable/bg_custom_button"

ナイン パッチについて学ぶ必要があります。ナイン パッチを使用すると、背景用にストレッチ可能な画像を定義でき、XML で設計が実現できない場合に役立ちます。

于 2012-10-18T13:55:50.680 に答える