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アプリ:AndroidXに対応する

2018年に、AndroidのSupportLibraryは、AndroidXに移行することが発表されました。 AndroidXとは Support Libraryとは簡単に言うと、Androidアプ…続きを読む

Androidアプリ:タイトルバーを消す

Android Studioで、タイトルバーを消す方法です。 通常は、以下のように画面上部にタイトルバーが表示されています。 AndroidManifest.xmlを編集する android:them…続きを読む

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アプリで、クリックイベントとロングクリックイベントの2つを取得して処理する方法です。 OnClickListenerとOnLongClickListenerを併記 public clas…続きを読む

Androidアプリ:特定のViewに最初のフォーカスをあてる

Android Studioにおいて、起動時に特定のViewにフォーカスをあてる方法です。 activity_main.xmlで設定 レイアウト定義ファイル(activity_main.xml)におい…続きを読む

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

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

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

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

Androidアプリ:ライブラリの更新とエラーの修正

Androidアプリを開発していて、Build.gradle(app)の、dependenciesの項目内でハイライト表示されたり、赤い下線が引かれたりすることがあります。 ハイライトはライブラリを更…続きを読む

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

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

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

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