【Android】角丸のListViewを作成する方法をステップごとに解説
このチュートリアルでは、Androidアプリで角丸(ラウンドコーナー)のListViewを作成する方法を、サンプルコードとともにステップごとに解説します。カスタムdrawableリソースを利用することで、ListViewの背景に角丸デザイン・グラデーション・枠線を簡単に適用できます。
ステップ1 − 新規プロジェクトの作成
まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」⇒「New Project」を選択し、必要な項目をすべて入力してプロジェクトを作成してください。
ステップ2 − レイアウトファイルへコードを追加
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">
<ListView
android:id="@+id/listView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_centerHorizontal="true">
</ListView>
</RelativeLayout>
ステップ3 − MainActivity.java へコードを追加
src/MainActivity.java に以下のコードを追加します。ここでは、ArrayAdapterを使用して果物名の配列をListViewに表示しています。
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView listView = findViewById(R.id.listView);
String[] fruits = new String[]{"Mango","Apple","Grapes","PineApple","Banana","Kiwi", "Orange","Avocado","Strawberry"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_2, android.R.id.text1, fruits);
listView.setAdapter(adapter);
listView.setBackgroundResource(R.drawable.rounded_corners);
}
}
ステップ4 − 角丸用のdrawableリソースを作成
res/drawable フォルダ内にdrawableリソースファイルを新規作成し、res/drawable/rounded_corners.xml に以下のコードを記述します。ポイントは次の3つです。
・<corners>:四隅それぞれの角丸半径を16dpに設定
・<gradient>:上から下へかかるグラデーションを定義
・<stroke>:1pxの黒い枠線を描画
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="https://schemas.android.com/apk/res/android" android:shape="rectangle">
<gradient
android:angle="90"
android:endColor="#C0C0C0"
android:startColor="#808080" />
<corners
android:bottomLeftRadius="16dp"
android:bottomRightRadius="16dp"
android:topLeftRadius="16dp"
android:topRightRadius="16dp" />
<stroke
android:width="1px"
android:color="#000000" />
</shape>
ステップ5 − androidManifest.xml を確認
androidManifest.xml は以下のようになります。
<?xml version="1.0" encoding="utf-8"?>
<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」アイコンをクリックします。表示された選択肢から自分のモバイルデバイスを選択すると、端末の画面に角丸のListViewが表示されます。

-
CSS3で角丸(丸みを帯びたコーナー)を作成する方法
CSS3で角丸(丸みを帯びたコーナー)を作成するには、border-radiusプロパティを使用します。このプロパティに「24px」のような値を指定するだけで、要素の四隅を滑らかに丸めることができ、デザインの幅が大きく広がります。以下は、角丸を持つボックスと通常の直角コーナーのボックスを並べて表示するサンプルコードです。コード例<!DOCTYPE html> <html> <head> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sa
-
HTML5 SVGで角丸の長方形を作成する方法【rx・ry属性の使い方】
SVG(Scalable Vector Graphics)は、XMLを使用して2Dグラフィックスやグラフィカルなアプリケーションを記述するための言語です。記述されたXMLは、SVGビューアによって描画されます。現在、主要なWebブラウザの多くは、PNGやGIF、JPGなどの画像形式と同じようにSVGを表示できるようになっています。HTMLのSVGで長方形を描画するには、<rect>要素を使用します。さらに、角を丸くしたい場合はrx属性とry属性を指定します。この2つの属性に値を設定することで、長方形の四隅が滑らかに丸められます。実装例以下のコードを実行すると、HTML5 SVGで角