HOME技術AndroidAndroidアプリ:ボタンやEditTextに背景色・枠線をつける

Androidアプリ:ボタンやEditTextに背景色・枠線をつける

Android Studioで、ボタンやEditTextに背景色や枠線をつける方法です。
コントロールの見た目の設定をするには、別途専用のxmlファイルを生成して、そこに書いた設定を読み込むようにします。

「app\res\drawable\」以下に、「partsdesign.xml」というファイルを生成します。
「drawable」フォルダの上で右クリック→「New」→「Drawable resource file」で新規作成します。

<selector >~</selector>の間に、以下のように書きます。

<item>
<shape android:shape=”rectangle”>
<stroke
android:color=”#00ff00″
android:width=”2dp”
/>
<solid android:color=”#ff0000″ />
</shape>
</item>

<stroke />は枠線の設定です。
今回は枠線の色を黄緑、太さを2にしました。

<solid />は背景色の設定です。
今回は赤にしました。

次に、レイアウトファイル「activity_main.xml」を編集します。
「android:background=”@drawable/partsdesign”」の一文を各コントロール内に入れ込みます。
「.xml」は入れません。

<EditText
android:background=”@drawable/partsdesign”
/>

なお、このように直接色を指定するほか、”@color/名前”という指定の仕方もあります。
この場合、「app\res\values\colors.xml」ファイル内に色を指定したタグを用意しておき、name属性を「名前」として呼び出すことができます。

colors.xmlは初期設定で以下のようになっています。

<resources>
<color name=”colorPrimary”>#3F51B5</color>
<color name=”colorPrimaryDark”>#303F9F</color>
<color name=”colorAccent”>#FF4081</color>
</resources>

この色を呼び出すときには、
<solid android:color=”@color/colorPrimary” />
と書きます。

関連記事

Androidアプリ:App is not indexable by Google Search;と表示される

Android Studioで、 App is not indexable by Google Search; consider adding at least one Activity with a…続きを読む

Androidアプリ:ClassNotFoundExceptionエラー

Google Play Consoleのクラッシュ報告で、「ClassNotFoundException(ac.loadClass)」というログが表示されていたので、調べました。 恐らくAdmobのS…続きを読む

Androidアプリ:ボタンを押すとメッセージが入れ替わる

Android StudioでAndroidアプリを試作します。 今回は「ボタンを1回押すとテキストの内容が変わり、もう1回押すと元に戻る」というだけのアプリをつくります。 プロジェクトの生成 And…続きを読む

Androidアプリ:error: expected color reference but got (raw string)

Android Studioでビルドした際に、C:\android\project\***\app\src\main\res\values\styles.xml: AAPT: error: expec…続きを読む

Androidアプリ:動画を再生する

Androidアプリで動画を再生する方法です。 読み込み時は最初の1コマ目をプレビューしている状態で静止しています。 MainActivity.java javaのソースには以下のように記します。 こ…続きを読む

Androidアプリを実機で確認する

AndroidアプリをAndroid Studioで開発した際に、実際のスマホの画面で動作確認する方法です。 スマホの設定 以下はArrows FX F-02Hの設定方法です(開発者向けオプションを表…続きを読む

Androidアプリ:フォーカスをあてたEditTextのテキストを全選択する

Android StudioでEditTextにフォーカスが当たったと同時に、既に入力されている文字列をすべて選択した状態にする方法です。 EditTextタグに以下のコードを追加 android:s…続きを読む

Androidアプリ:When using intent filters, please specify ‘android:exported’ as well

Android Studioで「When using intent filters, please specify ‘android:exported’ as well」という…続きを読む

Androidアプリ:ERROR: This project uses AndroidX dependencies, but the ‘android.useAndroidX’ property is not enabled.

Android Studioでビルドしようとしたら、「ERROR: This project uses AndroidX dependencies, but the ‘android.us…続きを読む

Androidアプリ:android:fullBackupContentの宣言

Android Studioで、以下のようなエラーメッセージが表示されました。 On SDK version 23 and up, your app data will be automaticall…続きを読む