【Android】EditTextに画像(アイコン)を追加する方法をわかりやすく解説
この記事では、AndroidアプリのEditTextに画像(アイコン)を表示する方法を、サンプルコードとともにステップごとに解説します。検索ボックスなどでよく見かける「入力欄の右側に虫眼鏡アイコンを表示する」あのUIは、android:drawableRight属性を使うだけで簡単に実装できます。
ステップ1:新規プロジェクトを作成する
まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目を入力してプロジェクトを作成しましょう。
ステップ2:レイアウトファイル(activity_main.xml)を編集する
res/layout/activity_main.xml に以下のコードを追加します。ポイントは android:drawableRight 属性です。ここにシステム標準の検索アイコン(ic_menu_search)を指定することで、EditTextの右側に画像が表示されます。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:app="https://schemas.android.com/apk/res-auto"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:layout_marginTop="30dp"
tools:context=".MainActivity">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:paddingStart="5dp"
android:drawableRight="@android:drawable/ic_menu_search"
android:paddingLeft="5dp" />
</LinearLayout>ステップ3:MainActivity.java を編集する
src/MainActivity.java には、以下のようにレイアウトを読み込むだけのシンプルなコードを記述します。
package com.example.sample;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}ステップ4:背景用のドローアブル(background.xml)を作成する
EditTextを見栄えよくするために、白背景・青枠線・角丸スタイルのドローアブルを定義します。drawable/background.xml として以下のファイルを作成してください。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="https://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<stroke android:width="1dp" android:color="#2f6699" />
<corners android:radius="10dp" />
</shape>ステップ5:AndroidManifest.xml を確認する
最後に、Manifests/AndroidManifest.xml が以下のようになっていることを確認します。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="com.example.sample">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>アプリを実行して動作を確認しよう
それでは、アプリケーションを実行してみましょう。ここでは、実際のAndroid端末をパソコンに接続しているものとして説明します。
Android Studioからアプリを実行するには、プロジェクト内のアクティビティファイルを開き、ツールバーにある実行(Run)アイコンをクリックします。表示された選択肢から接続中のモバイルデバイスを選択すると、実機の画面にEditTextとその右側に表示された検索アイコンが確認できます。
このように drawableRight 属性を使えば、コードをほとんど書かずにEditTextへ画像を追加できます。左側に表示したい場合は drawableLeft、上下なら drawableTop/drawableBottom を使うことで、同様にアイコンを配置可能です。ぜひ自分のアプリでも試してみてください。
-
【Android開発】角丸のEditTextを作成する方法をステップごとに解説
はじめにこの記事では、Androidアプリで角が丸い(角丸)EditTextを作成する方法を、具体的なコード例とともに解説します。drawableリソースにカスタムのshapeファイルを定義し、それをEditTextの背景に設定するだけで、簡単におしゃれな角丸デザインを実現できます。手順1:新規プロジェクトを作成するまず、Android Studioで新しいプロジェクトを作成します。メニューから「File → New Project」を選択し、必要な情報を入力してプロジェクトを作成してください。手順2:レイアウトファイル(activity_main.xml)を編集する次に、「res/layou
-
Tkinterで画像を追加・表示する方法を解説!Pillowとfiledialogの使い方
画像は、あらゆるアプリケーションにおいて非常に有用な要素のひとつです。Pythonでは、Pillow(PIL)パッケージを利用することで、Tkinterアプリケーション内でも簡単に画像を扱うことができます。画像の読み込みや抽出、画像ペインの設定など、便利な機能が多数用意されています。 サンプルコード:ダイアログで選択した画像を表示する 以下の例では、ユーザーがファイルダイアログから画像を選択し、その画像をLabelウィジェットを使ってウィンドウ上に表示します。 #Tkinterライブラリをインポート from tkinter import * from tkinter import ttk