首页 > 学院 > 开发设计 > 正文

ListView的头视图

2019-11-09 15:43:08
字体:
来源:转载
供稿:网友

通常用于显示顶部广告、或者标题。 最简单demo为例子,等效果图如下: 这里写图片描述

代码由4个主要文件组成: MainActivity.java , 显示控制页面。 activity_main.xml,显示页面的xml,只包括listview。 listview_header.xml,盛放头视图需要显示的所有内容。 item_listview.xml,盛放listview的子项需要显示的内容。

上代码:

//MainActivity.java , 显示控制页面。

package com.example.listviewheaderview;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.AbsListView.LayoutParams;import android.widget.ArrayAdapter;import android.widget.Gallery;import android.widget.ListView;public class MainActivity extends ActionBarActivity { PRivate static final String[] NUMBERS = { "1","2","3","4","5","6","7" };// private Gallery gallery; private View header; private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.listview); LayoutInflater inflater = LayoutInflater.from(this); header = inflater.inflate(R.layout.listview_header, listView,false); ListView.LayoutParams params = new ListView.LayoutParams(ListView.LayoutParams.FILL_PARENT,ListView.LayoutParams.WRAP_CONTENT); header.setLayoutParams(params); listView.addHeaderView(header,null,false); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.item_listview,NUMBERS); listView.setAdapter(adapter); } @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; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }}

//activity_main.xml,显示页面的xml,只包括listview。

<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" 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="com.example.listviewheaderview.MainActivity" > <ListView android:id="@+id/listview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /></RelativeLayout>

//listview_header.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_header_webview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" /></LinearLayout>

//item_listview.xml,盛放listview的子项需要显示的内容。

<?xml version="1.0" encoding="utf-8"?><TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="13dp" android:text="1" android:textSize="20dp" ></TextView>

源码下载地址:http://download.csdn.net/detail/soniky_ling/9751204


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表