编写一个简单的 Android 程序,实现带图标的 ListView 列表
实验步骤
1.修改activity_main.xml文件
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<ListView
android:id="@+id/listview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
2.创建items.xml文件
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/image"
android:maxWidth="80sp"
android:maxHeight="80sp"
android:paddingRight="10sp"
android:paddingLeft="10sp"
android:paddingBottom="10sp"
android:adjustViewBounds="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/app_name"
/>
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="10sp"
/>
</LinearLayout>
3.修改MainActivity.java文件
package com.example.zhou_shanmi;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class MainActivity extends Activity
{
privateListView listView;
privateint[] imageID = new int []{R.drawable.img01,R.drawable.img02,R.drawable.img03,R.drawable.img04,
R.drawable.img05,R.drawable.img06,R.drawable.img07,R.drawable.img08};
privateString[] title = newString[]{"保密设置","安全","系统设置","上网 ","我的文档","GPS导航","我的音乐","E-mail"};
@Override
protectedvoid onCreate(BundlesavedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.listview);
//1.准备数据
List<Map<String,Object>>listItems = newArrayList<Map<String,Object>>();
for(int i=0;i<imageID.length;i++)
{
Map<String,Object>map = newHashMap<String,Object>();
map.put("image",imageID[i]);
map.put("title",title[i]);
listItems.add(map);
}
//2.构造适配器
SimpleAdapter adapter = new SimpleAdapter(MainActivity.this,
listItems,
R.layout.items,
newString[]{"image","title"},
new int[]{R.id.image,R.id.title});
//3.将适配器使能
listView.setAdapter(adapter);
}
@Override
publicboolean onCreateOptionsMenu(Menumenu)
{
// Inflate the menu; this adds items tothe action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
returntrue;
}
}
实验结果