文章标题
2017-02-09 18:04
260 查看
listview的头视图
在给Listview顶部添加广告栏、简介等时候会用到头视图。最简单等例子,上效果图:
实现以上效果需要:
MainActivity ,显示控制界面。
activity_main , 显示界面的xml,只包含listview。
listview_header,盛放头视图需要显示的所有内容。
item_listview ,盛放listview中每个子项需要显示内容。
具体代码如下:
MainActivity.java
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
<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
<?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>