入力テキストを画像とマージできるかどうか知っていますか?
1 に答える
この例のような画像ビューを意味するかもしれません リストにアイコンを追加できます
従来の Android の ListView はテキストの単純なリストです。基本的には、ListView に一連の単語を配列で渡し、それらの単語をリストに入れるために単純な組み込みレイアウトを使用するように Android に指示します。ただし、行がアイコン、アイコンとテキスト、チェック ボックスとテキスト、または必要なもので構成されるリストを作成することはできます。アダプターに十分なデータを提供し、アダプターが行ごとにより豊富な View オブジェクトのセットを作成できるようにするだけです。たとえば、エントリがアイコンとそれに続くテキストで構成される ListView が必要だとします。FancyLists/Static サンプル プロジェクトの res/layout/row.xml にある、次のような行のレイアウトを作成できます。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/selection"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
/>
</LinearLayout>
このレイアウトでは、LinearLayout を使用して行を設定し、左側にアイコン、右側にテキスト (見栄えの良い大きなフォント) を配置します。ただし、デフォルトでは、Android は ListView でこのレイアウトを使用することを認識していません。接続を確立するには、前に示したカスタム レイアウトのリソース ID をアダプターに提供する必要があります。
public class StaticDemo extends ListActivity {
private TextView selection;
private static final String[] items={"lorem", "ipsum", "dolor",
"sit", "amet",
"consectetuer", "adipiscing", "elit", "morbi", "vel",
"ligula", "vitae", "arcu", "aliquet", "mollis",
"etiam", "vel", "erat", "placerat", "ante",
"porttitor", "sodales", "pellentesque", "augue", "purus"};
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
setListAdapter(new ArrayAdapter<String>(this,
R.layout.row, R.id.label,
items));
selection=(TextView)findViewById(R.id.selection);
}
public void onListItemClick(ListView parent, View v,
int position, long id) {
selection.setText(items[position]);
}
}
これは、前の ListView サンプルの一般的な構造に従います。ここでの主な違いは、ArrayAdapter にカスタム レイアウト (R.layout.row) を使用すること、および単語が配置される TextView がそのカスタム レイアウト内の R.id.label として知られていることを伝えたことです。注: レイアウト (row.xml) を参照するには、レイアウト XML ファイル (R.layout.row) のベース名のプレフィックスとして R.layout を使用することに注意してください。結果は、左側にアイコンがある ListView です。この例では、図 13-1 に示すように、すべてのアイコンが同じです。