facebook twitter hatena line email

「Android/ListView/カスタム」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
行1: 行1:
==画像サンプル==
+
==記事サンプル==
 +
例)タイトルを2カラムに分けて表示するようなリストを作る
 +
 
 
activity_main.xmlに以下を追加
 
activity_main.xmlに以下を追加
 
  <ListView
 
  <ListView
行13: 行15:
 
     android:layout_height="match_parent">
 
     android:layout_height="match_parent">
  
     <ImageView
+
     <TextView
         android:id="@+id/thumbnail"
+
         android:id="@+id/title"
         android:layout_width="70dp"
+
         android:layout_width="wrap_content"
 
         android:layout_height="70dp"
 
         android:layout_height="70dp"
         android:padding="3dp" />
+
        android:textColor="#000"
 +
         android:padding="5dp"
 +
        android:gravity="center_vertical"
 +
        android:maxLines="1"
 +
        android:text="title1"/>
  
 
     <TextView
 
     <TextView
         android:id="@+id/title"
+
         android:id="@+id/description"
 
         android:layout_width="wrap_content"
 
         android:layout_width="wrap_content"
 
         android:layout_height="70dp"
 
         android:layout_height="70dp"
行27: 行33:
 
         android:gravity="center_vertical"
 
         android:gravity="center_vertical"
 
         android:maxLines="1"
 
         android:maxLines="1"
         android:text="Sample Text"/>
+
         android:text="description1"/>
  
 
</LinearLayout>
 
</LinearLayout>

2018年12月14日 (金) 14:32時点における版

記事サンプル

例)タイトルを2カラムに分けて表示するようなリストを作る

activity_main.xmlに以下を追加

<ListView
       android:id="@+id/sample_listview"
       android:layout_width="match_parent"
       android:layout_height="wrap_content" />

samplelist_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="70dp"
        android:textColor="#000"
        android:padding="5dp"
        android:gravity="center_vertical"
        android:maxLines="1"
        android:text="title1"/>

    <TextView
        android:id="@+id/description"
        android:layout_width="wrap_content"
        android:layout_height="70dp"
        android:textColor="#000"
        android:padding="5dp"
        android:gravity="center_vertical"
        android:maxLines="1"
        android:text="description1"/>

</LinearLayout>

SampleListItem.java

import android.graphics.Bitmap;

public class SampleListItem {
    private Bitmap mThumbnail = null;
    private String mTitle = null;

    public SampleListItem() {};

    public SampleListItem(Bitmap thumbnail, String title) {
        mThumbnail = thumbnail;
        mTitle = title;
    }

    public void setThumbnail(Bitmap thumbnail) {
        mThumbnail = thumbnail;
    }

    public void setmTitle(String title) {
        mTitle = title;
    }

    public Bitmap getThumbnail() {
        return mThumbnail;
    }

    public String getTitle() {
        return mTitle;
    }
}

MainActivity.javaのonCreateに追加

ListView listView = (ListView)findViewById(R.id.sample_listview);
ArrayList<SampleListItem> listItems = new ArrayList<>();
for (int i = 0; i < 4; i++) {
    Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
    SampleListItem item = new SampleListItem(bmp, "sample text No. " + String.valueOf(i));
    listItems.add(item);
}
SampleListAdapter adapter = new SampleListAdapter(this, R.layout.samplelist_item, listItems);
listView.setAdapter(adapter);

参考:https://qiita.com/ksugawara61/items/2d63f0be279a94b74550