Androidプログラミングは初めてです。ボタンの色を変更するにはどうすればよいですか?
<Button
Android:id="@+id/btn"
Android:layout_width="55dp"
Android:layout_height="50dp"
Android:layout_gravity="center"
Android:text="Button Text"
Android:paddingBottom="20dp"/>
色は2つの方法で変更できます。 XMLまたはコーディングを通じて。初心者にとってはXMLの方が簡単なので、XMLをお勧めします。
XML:
<Button
Android:background="@Android:color/white"
Android:textColor="@Android:color/black"
/>
16進値exも使用できます。
Android:background="@Android:color/white"
コーディング:
//btn represents your button object
btn.setBackgroundColor(Color.WHITE);
btn.setTextColor(Color.BLACK);
text colorの場合:
Android:textColor="<hex color>"
背景色の場合:
Android:background="<hex color>"
FromAPI 21以下を使用できます。
Android:backgroundTint="<hex color>"
Android:backgroundTintMode="<mode>"
注:Android/Javaを使用する場合は、実際にGoogleでの学習方法を学ぶ必要があります;)
Androidで異なるボタンをカスタマイズする方法
以下のメソッドは実際に機能します。
ご希望の場合-テーマを使用して
デフォルトでは、ボタンの色はAndroid:colorAccent
です。したがって、このようなスタイルを作成すると...
<style name="Button.White" parent="ThemeOverlay.AppCompat">
<item name="colorAccent">@Android:color/white</item>
</style>
このように使用できます...
<Button
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:theme="@style/Button.White"
/>
代替的に-濃淡を使用して
APIレベル21以上の場合はAndroid:backgroundTint
、APIレベル7以上の場合はapp:backgroundTint
を追加するだけです。
詳細については、 このブログ を参照してください。
背景を色に置き換えると、ボタンの効果が失われ、ボタンの領域全体に色が適用されます。パディング、シャドウ、コーナーの半径は考慮されません。
ここにボタンの異なる色を作成するためのコードと、線形、制約、スクロールレイアウトを示します
最初に、drawableでcustom_button.xmlを作成する必要があります
Custom_Button.xmlコード
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:state_pressed="true" Android:drawable="@color/red"/> <!-- pressed -->
<item Android:state_focused="true" Android:drawable="@color/blue"/> <!-- focused -->
<item Android:drawable="@color/black"/> <!-- default -->
</selector>
第二に、解像度に行く
Colors.xmlコード
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<color name="black">#000</color>
<color name="Violet">#9400D3</color>
<color name="Indigo">#4B0082</color>
<color name="blue">#0000FF</color>
<color name="green">#00FF00</color>
<color name="yellow">#FFFF00</color>
<color name="orange">#FF7F00</color>
<color name="red">#FF0000</color>
</resources>
下のスクリーンショット
プログラミングを通じて:
btn.setBackgroundColor(getResources().getColor(R.color.colorOffWhite));
また、colors.xmlには以下が含まれている必要があります...
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorOffWhite">#80ffffff</color>
</resources>