HOME技術AndroidAndroidアプリ:ボタンやEditTextを角丸にする

Androidアプリ:ボタンやEditTextを角丸にする

Android StudioでボタンやEditTextを配置して、角丸にします。
角丸や色などを指定する場合には、それ専用のxmlファイルを別途用意し、読み込ませるようにします。

ボタンの背景色と角丸を設定する

まず設定用のxmlファイルを新規に作成します。
「app\res\drawable」上で右クリックして、「New」→「Drawable resource file」を選択します。

「New Resource File」の画面が表示されたら、「File name」の欄にxmlファイル名をつけます。
(ファイル名は半角小文字英数と_のみです。大文字にしようとするとエラーが出ます)
名前を付けてOKを押すと、drawableフォルダ以下にそのファイルが生成されます。
ここではファイル名を「partsdesign」とします。

生成されたpartsdesign.xmlを開き、<selector>~</selector>内に以下のように入力します。

<item>
<shape android:shape=”rectangle”>
<corners
android:topRightRadius=”5dp”
android:topLeftRadius=”5dp”
android:bottomRightRadius=”5dp”
android:bottomLeftRadius=”5dp”
/>
<solid
android:color=”@color/colorPrimary”
/>
</shape>
</item>

<corners … />に書いた内容が角丸の指定です。
topRightRadius…右上の角
topLeftRadius…左上の角
bottomRightRadius…右下の角
bottomLeftRadius…左下の角
個別に大きさを変えることもできます。

<solid android:color=”@color/colorPrimary” />は、背景色の指定です。
これは、「app\res\values\colors.xml」に指定されている「colorPrimary」という設定を読み込んでいます。

レイアウトファイル(activity_main.xml)を編集する

activity_main.xmlを開き、角丸を設定したいコントロールのタグ内に、以下のように書きます。

android:background=”@drawable/partsdesign”

ここでは、ButtonとEditTextの2つに指定しました。

エミュレータを起動すると、以下のように表示されます。

関連記事

Androidアプリ:ボタンをタップして別画面に遷移する

ボタンをタップしたら別画面に遷移させる方法です。 以下の例では、メイン画面の「ボタン」をクリックすると、サブ画面に移動し、サブ画面の「終了」ボタンを押すとメイン画面に戻ってきます。 メイン画面 act…続きを読む

Androidアプリ:Firebaseを利用したAdMobの実装方法

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

Androidアプリ:画面遷移時に値を渡す

Androidで画面遷移時に値を渡す方法です。 数値を渡す場合 MainActivity.java public class MainActivity extends Activity { @Over…続きを読む

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

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

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

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

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

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

Androidアプリ:数値型のViewの値がNullか0以下かを判定する

Android Studioで数値型のEditTextのViewを配置して、値を取得した場合に、その値がNull値(空)もしくは0以下であるか否かを判定する方法です。 Null判定にlength()を…続きを読む

Androidアプリ:テキストをリスト表示する

Androidアプリで、ListViewを使い、配列に格納したテキストをリスト表示します。 MainActivity.java import android.app.Activity; import …続きを読む

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

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

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…続きを読む