AndroidでImageViewに境界線(ボーダー)を設定する方法
AndroidでImageViewに境界線を設定する方法
このチュートリアルでは、AndroidアプリのImageViewに境界線(ボーダー)を設定する方法を解説します。XMLの<shape>と<stroke>を活用すれば、Javaコードをほとんど追加することなく、画像の周囲に色付きの枠線を簡単に描画できます。
ステップ1:新規プロジェクトを作成する
Android Studioを起動し、メニューから「File」→「New Project」を選択します。必要な項目を入力して、新しいプロジェクトを作成してください。
ステップ2:activity_main.xml にコードを追加する
res/layout/activity_main.xml を以下のように編集します。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" xmlns:tools="https://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ImageView android:layout_width="wrap_content" android:layout_height="match_parent" android:background="@layout/image_border" android:padding="7dp" android:scaleType="centerInside" android:src="@drawable/image" /> </RelativeLayout>
ポイントは、ImageViewのandroid:background属性に、後ほど作成する境界線用リソース(@layout/image_border)を指定し、android:padding="7dp"で画像と枠線の間に余白を持たせている点です。
ステップ3:MainActivity.java にコードを追加する
src/MainActivity.java には以下のコードを記述します。今回は特別な処理は不要で、レイアウトを読み込むだけです。
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:image_border.xml を作成する
res/layout フォルダ内に「image_border.xml」という名前の新しいレイアウトリソースファイルを作成し、以下のコードを記述します。
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="https://schemas.android.com/apk/res/android" android:layout_height="match_parent" android:layout_width="match_parent"> <stroke android:width="8dp" android:color="#01fee9" /> </shape>
<stroke>要素が枠線の正体です。ここでは幅8dp・カラーコード#01fee9(明るいシアン系)の線を指定しています。太さや色はお好みに合わせて自由に変更できます。
ステップ5:AndroidManifest.xml にコードを追加する
最後に、androidManifest.xml を以下のように記述します。
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.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」アイコンをクリックしてください。デバイス選択画面で接続したスマートフォンを選ぶと、端末の画面に境界線付きのImageViewが表示されたデフォルト画面が確認できます。

-
AndroidでAsyncTaskにタイムアウトを設定する方法【サンプルコード付きで解説】
はじめに このチュートリアルでは、AndroidアプリでAsyncTaskにタイムアウトを設定する方法を、実際に動作するサンプルコードとともに解説します。EditTextに入力した秒数だけバックグラウンド処理をスリープさせ、その間の進捗状況をProgressDialogで表示するシンプルなデモアプリを作成していきます。 実装手順 ステップ1:新規プロジェクトを作成する Android Studioを開き、メニューから「File」→「New Project」を選択します。必要な項目をすべて入力して、新しいプロジェクトを作成してください。 ステップ2:activity_main.xml にレ
-
JavaのJCheckBoxに境界線(ボーダー)を設定する方法
JCheckBoxとは JCheckBoxはJToggleButtonを拡張したSwingコンポーネントの一つで、チェック済み(ON)と未チェック(OFF)の2つの状態を持つ選択肢を表します。複数のチェックボックスを配置した場合、それぞれが独立して動作するため、任意の組み合わせで同時に選択することが可能です。 境界線を設定する手順 JCheckBoxに境界線(ボーダー)を設定するには、次の2つのメソッドを使用します。 setBorder():コンポーネントに境界線を設定するメソッド。BorderFactoryクラスのファクトリメソッドを使って、さまざまな種類のボーダーを簡単に生成できます。