web-dev-qa-db-ja.com

ボタンの色を変更するには?

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"/>
17
hahoanghai.ueh

色は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);
21
Aicha Hezit

text colorの場合:

Android:textColor="<hex color>"


背景色の場合:

Android:background="<hex color>"


FromAPI 21以下を使用できます。

Android:backgroundTint="<hex color>"
Android:backgroundTintMode="<mode>"

注:Android/Javaを使用する場合は、実際にGoogleでの学習方法を学ぶ必要があります;)
Androidで異なるボタンをカスタマイズする方法

9
Tomblarom

正しい方法...

以下のメソッドは実際に機能します。

ご希望の場合-テーマを使用して
デフォルトでは、ボタンの色は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を追加するだけです。

詳細については、 このブログ を参照してください。

受け入れられた答えの問題...

背景を色に置き換えると、ボタンの効果が失われ、ボタンの領域全体に色が適用されます。パディング、シャドウ、コーナーの半径は考慮されません。

5

ここにボタンの異なる色を作成するためのコードと、線形、制約、スクロールレイアウトを示します

最初に、drawableでcustom_button.xmlを作成する必要があります

  1. 解像度に移動
  2. 展開して、drawableを右クリックします
  3. 新規-> Drawable Resource File
  4. ファイル名:custom_button、[OK]をクリックします

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>

第二に、解像度に行く

  1. 値を展開する
  2. Colors.xmlをダブルクリックします
  3. 以下のコードをコピーしてください

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>

下のスクリーンショット

enter image description here XMLコーディング enter image description here 設計プレビュー

3
Mikhael Lauda

プログラミングを通じて:

btn.setBackgroundColor(getResources().getColor(R.color.colorOffWhite));

また、colors.xmlには以下が含まれている必要があります...

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <color name="colorOffWhite">#80ffffff</color>
</resources>
0
sachin pathak