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アプリ:Firebaseを利用したAdMobの実装方法

AndroidアプリでFirebaseを利用したAdMobの実装方法を調べました。 なお、FirebaseおよびAdMobには既にユーザ登録済みであることを想定しています。 未登録の場合は先に登録して…続きを読む

Androidアプリ:背景に画像を指定する

Android Studioを使って、背景に画像を設定する方法です。 背景画像を格納する 今回は以下の画像を使います。 画像サイズなどは適当につくります。 Androidは様々な解像度がありますが、画…続きを読む

Androidアプリ:Android StudioでデバッグしようとするとPlease select Android SDKと表示される

Android Studioを使っていて、動作確認するために実行(run)をすると、ADVが起動せず、「Error: Please select Android SDK」と表示されてしまった場合の復旧…続きを読む

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アプリ:画面の高さと幅を取得する

Andoroidで、画面の高さと幅を取得する方法です。 MainActivity.java Android端末の画面サイズ(高さと幅)を表示します。 public class QuestionActi…続きを読む

Androidアプリ:ボタンの表示/非表示

Androidでボタンの表示/非表示をプログラム上からコントロールします。 MainActivity.java   Button button = findViewById(R.id.but…続きを読む

Androidアプリ:エラー「ScrollView can host only one direct child」

Android StudioでScrollViewを設定して動作確認しようとすると、「ScrollView can host only one direct child」というエラーが出て動作確認でき…続きを読む

Androidアプリ:アダプティブアイコンに対応する

AndroidではOS 8.0からAdaptiveアイコン(アダプティブアイコン)というアイコンを用意する必要がでてきました。 これまでの通常のアイコン、ラウンドアイコンに加えて、アダプティブアイコン…続きを読む

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

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

Androidアプリ:String型の変数に格納した画像や音声ファイル名から表示・再生する

Android Studioを使って画像ファイル名や音声ファイル名から、ImageViewで画像を表示したりMediaPlayerで音声再生する方法です。 String型の変数に、画像ファイル名もしく…続きを読む