1.新建个安卓项目,点击res下的values目录,在该目录下创建一个名字为arrays.xml的Android xml文件,然后开始在里面写代码,代码如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="arrays"> <item>ListView1</item> <item>ListView2</item> <item>ListView3</item> <item>ListView4</item> <item>ListView5</item> <item>ListView7</item> <item>ListView8</item> <item>ListView9</item> </string-array> </resources>
2.然后再点击res下的layout目录,打开里面已有的activity_main.xml文件,再修改下布局文件,将其设置为垂直线性布局,再在里面添加一个ListView视图,代码如下:
<LinearLayout xmlns: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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <ListView android:id="@+id/listView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:entries="@array/arrays"> </ListView> </LinearLayout>
3,此时我们运行模拟器就可以出现下图的ListView列表了:
4.是不是很简单啊,如果列表超出模拟器范围的话,会在右侧产生个滚动条,一向上拉它就会向下滚动,一到列表的末尾向下拉就会向上滚动!
5.接下来介绍一个比较难点显示的ListView,其中items.xml里面放了一个ImageView图像视图还有个TextView文本视图,再添加到ListView里面去,先在res下的layout目录下创建一个新的Android xml文件,取名为items.xml,然后添加ImageView和TextView,布局设置为水平线性布局,接下来附上代码:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: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:layout_width="wrap_content" android:layout_height="wrap_content" android:adjustViewBounds="true" android:maxWidth="72px" android:minHeight="72px" android:paddingBottom="20px" android:paddingRight="10px" android:paddingTop="20px" /> <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:padding="10px" /> </LinearLayout>
6.然后在res下的layout目录下activity_main.xml文件下修改代码,布局方式设置为垂直线性布局,里面添加个ListView控件,接下来附上布局文件的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <ListView android:id="@+id/listView1" android:layout_height="wrap_content" android:layout_width="match_parent"/> </LinearLayout>
7.接下来打开src下的Mainactivity.java文件,在里面添加代码,用于显示ListView中items项的ImageView图像视图和TextView文本视图,其中image01-image13的图片是我存放在drawable-hdpi目录下的,代码如下,其中有注释:
package com.example.qqlistview4; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.widget.ListView; import android.widget.SimpleAdapter; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView listview=(ListView)findViewById(R.id.listView1); //获取列表视图 int[]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,R.drawable.img09,R.drawable.img10,R.drawable.img11,R.drawable.img12,R.drawable.img13};//定义并初始化保存图片id的数组 String[] title=new String[]{"乔峰(丐帮帮主)","虚竹(逍遥派传人)","段誉(大理世子)","花无缺(移花接木)","郭靖(降龙十八掌)","杨过(独臂侠)","黄蓉(打狗棒法)","黄老邪(东邪)","小龙女(古墓里的一朵花)","欧阳锋(西毒)","一灯大师(南帝)","洪七公(北丐)","王重阳(中神通)"}; List<Map<String,Object>>listItems=new ArrayList<Map<String,Object>>(); //创建一个List集合 //通过for循环将图片id和列表项文字放到Map中,并添加到List集合中 for(int i=0;i<imageId.length;i++){ Map<String,Object>map=new HashMap<String,Object>(); //实例化map对象 map.put("image",imageId[i]); map.put("title",title[i]); listItems.add(map); //将map对象添加到List集合中 } SimpleAdapter adapter=new SimpleAdapter(this,listItems,R.layout.items,new String[]{"title","image"},new int[]{R.id.title,R.id.image});//创建SimpleAdapter listview.setAdapter(adapter); //将适配器与ListView关联 } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
8.接下来运行模拟器,将此项目部署到模拟器上,可得到这样的ListView列表视图效果,如下图所示:
9.就这样,是不是有点像QQ好友列表一样啊,其中可以上下滚动。
10.以上内容,仅供参考学习,这是为我个人学习积累的东西,转载的话,请注明出处,写得不好,敬请见谅,如果里面有什么问题或者错误的,可以评论和发消息,我会及时改正,如有雷同,纯属巧合!哈哈,好了,不晚了,睡觉去了!