ボタンを備えたAndroid UIライブラリを作成しています。 ボタンには角が丸く、デフォルトのテキストサイズと小文字のタイトルがあります。ユーザーが背景色を変更できるように丸い角を持つカスタムAndroidボタンを提供するにはどうすればよいですか?
これらの属性は固定されていると見なすことができますが、ユーザーは通常、押された状態、無効な状態で独自の背景色を指定できるようにしたいと考えています。
私は次の属性を設定し、マイライブラリ内のスタイルを持っている:LibraryButtonBackground.xml
で
<style name="LibraryButtonStyle">
<item name="android:textAllCaps">false</item>
<item name="android:textSize">18sp</item>
<item name="android:background">@drawable/LibraryButtonBackground</item>
</style>
私のセレクタは、丸みを帯びた角を実装します。
<?xml version="1.0" encoding="UTF-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_enabled="false">
<shape android:shape="rectangle" >
<corners android:radius="10dp" />
<!-- <solid android:color="#DDDDDD" /> User should set this -->
</shape>
</item>
<item android:state_pressed="true">
<shape android:shape="rectangle" >
<corners android:radius="10dp" />
<!-- <solid android:color="#DDDDDD" /> User should set this -->
</shape>
</item>
<item>
<shape android:shape="rectangle" >
<corners android:radius="10dp" />
<!-- <solid android:color="#DDDDDD" /> User should set this -->
</shape>
</item>
私は、ユーザーがなりたいです独自のセレクタを記述する必要がなく、丸みのあるコーナーを定義する必要もなく、色を設定することができます。
以下のユーザー実装スタイルは、明らかにバックグラウンドドローラブルをオーバーライドするので、ユーザーがこれを行わない限りコーナーは丸められなくなります。
<style name="UserButtonStyle" parent="LibraryButtonStyle">
<item name="android:background">@drawable/UserButtonBackground</item>
</style>
どのように私はこれを達成することができますか?
素晴らしい作品です。回答ありがとうございます。 – alav