Android 为ListView添加头部试图
2015-10-07 11:53
381 查看
一般我们使用listview的时候会遇到这样的情况,在头部有一个TextView之类的组件,但是对listview中的内容滑动的时候头部并没有一起滑动,所以为了解决这个问题,为listview添加一个头部试图就可以一起滑动,具体实现代码如下:
listview_top.xml
public class MainActivity extends Activity { private ListView lv; private ArrayList<String> list; private ArrayAdapter<String> adapter; private ImageView iv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.activity_main_listview); list = new ArrayList<String>(); for (int i = 0; i < 50; i++) { list.add("bigbang"+i); } adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1,list); //注意:放在设置适配器之前 //加载头部试图的步骤: //1.获得一个布局加载器 LayoutInflater inflater = LayoutInflater.from(MainActivity.this); //2.加载一个布局 //2.1先有一个布局 //2.2加载了一个布局 //inflater:方法参数 //1.要加载的布局文件 //2.父容器 //3.是否使用父容器的宽高属性 View view = inflater.inflate(R.layout.listview_top, null); //将加载的试图添加到ListView的头部 iv = (ImageView) view.findViewById(R.id.listview_top_iv); lv.addHeaderView(view); lv.setAdapter(adapter); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { //parent:Listview //view:条目 //position:第几条 @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(MainActivity.this,"bigbang"+position,Toast.LENGTH_SHORT).show(); if(position!=0){ int color=(position-1)%5; switch (color) { case 0: iv.setImageResource(R.drawable.gd); break; case 1: iv.setImageResource(R.drawable.top); break; case 2: iv.setImageResource(R.drawable.sql); break; case 3: iv.setImageResource(R.drawable.dasheng); break; case 4: iv.setImageResource(R.drawable.shengli); break; } } } }); } }activity_main.xml
<RelativeLayout 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" tools:context=".MainActivity" > <ListView android:id="@+id/activity_main_listview" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>
listview_top.xml
<?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="vertical" > <ImageView android:id="@+id/listview_top_iv" android:layout_width="match_parent" android:layout_height="300dp" android:src="@drawable/a" android:scaleType="centerCrop" /> </LinearLayout>
相关文章推荐
- Android Data Binding(数据绑定)教程汇总
- Android 图片特效(一):色相、饱和度与亮度
- android ExpandableListView属性以及需要注意的地方
- Android AsyncTask 的简单使用
- 开发实训10---Android---注册登录功能实现1
- Android Studio 使用 Gradle 打包 Jar-IT蓝豹
- android GridView android:stretchMode="columnWidth"
- android ListView几个比较特别的属性
- 视频Android studio1.3.1从菜鸟到高手--第一季-IT蓝豹
- Android StartActivityForResult的简单使用
- Android:android:listSelector="#00000000" 与 android:listSelector="@null"之区别
- Android属性动画
- Android ADB命令环境配置(Windows下)
- 视频Android studio1.3.1从菜鸟到高手--第一季-IT蓝豹
- 高德地图 AndroidSDK 自定义Marker
- 【Android】【6.0版本】Android 6.0 相关
- 【Android】【6.0版本】Android 6.0 相关
- 【Android】【6.0版本】Android 6.0 相关
- 【Android】【6.0版本】Android 6.0 相关
- 【Android】【6.0版本】Android 6.0 相关