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アプリ:String型の変数に格納した画像や音声ファイル名から表示・再生する

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

Androidアプリ:Class ‘Anonymous class derived from OnItemClickListener’…のエラー

Android Studioで開発中に、ListViewを使っていて以下のようなエラーメッセージが出た場合の理由です。 Class ‘Anonymous class derived from OnIt…続きを読む

Androidアプリ:ボタンの仕様を1つのxmlファイルにまとめる

Android Studioで、ボタンなどの色や形の指定をする際、1つのxmlファイルで、ボタンを押したときと押していないときの状態を指定する方法です。 xmlファイルの指定 Android Stud…続きを読む

Androidアプリ:画面をタップしたら文字を入れ替える

画面をタップしたら文字を入れ替えるアプリをつくります。 今回はタッチイベントを取得する方法を調べました。 ここではレイアウト定義ファイルを「activity_main.xml」、 プログラムファイルを…続きを読む

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

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

Androidアプリ:ClassNotFoundExceptionエラー

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

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

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

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

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

Androidアプリ:画面の高さと幅を取得する

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

Androidアプリ:入力された数値を足して表示する

2つのテキストボックスに入力した数値を受け取り、それぞれを足した結果を表示するアプリをつくります。 ここではレイアウト定義ファイルを「activity_main.xml」、 プログラムファイルを「Ma…続きを読む