Android-Composite
一 ListView
加载方式1:
直接从xml中加载元素数组,在listview中设置android:entries="@array/string_array",这种方式不能动态添加,与修改
加载方式2:
动态加载数据源,利用Adapter4个步骤,来显示
二 ExpandableList
组件特点:点击展开下拉栏,每一项中都包含多项。
界面实现:
数据源:hashMap
Adapter:ExpandableListAdapter接口定义类
介绍一个绑定的函数:
ExpandableListAdapter _expanAbleAdapter = new SimpleExpandableListAdapter
(context, //上下文this
groupData,// 第一层数据源,hash表或者自定义数据类型
expandedGroupLayout, collapsedGroupLayout, //Group展开和收回布局,可以自定义和使用系统提供
groupFrom, groupTo, //父Group数据源的Key,和要显示的TextView组件
childData,//第二层数据源, hash表或者自定义数据类型
childLayout, //子Group的布局 , 可以自定义和使用系统提供
childFrom, childTo)//子Group数据源的Key,和要显示的TextView组件
事件机制:
1 onChildClick 子项目点击事件
2 onGroupCollapse Group 收回事件
3 onGroupExpand Group 展开事件
三 GridView
定义:Activity下显示图片或者文字或者其他的View
常用属性:
android:horizontalSpacing="10dp"水平间隔
android:verticalSpacing="10dp"竖直间隔
android:columnWidth="90dp";列宽
android:numColumns="auto_fit"列的数量,或者自己适应
android:stretchMode="columnWidth"拉伸模式,按照某种模式拉伸
界面实现:
自定义一个ImageAdapter, 然后使用AdapterView的3个步骤(建立数据源,建立Adapter并且绑定数据源, 绑定Adapter和UI)
class ImageAdapter extends BaseAdapter
{
@Override
public int getCount()
{
// TODO Auto-generated method stub
return mImages.length;
}
@Override
public Object getItem(int arg0)
{
// TODO Auto-generated method stub
return mImages[arg0];
}
@Override
public long getItemId(int arg0)
{
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2)
{
// TODO Auto-generated method stub
ImageView _imageView = new ImageView(GridViewActivity.this);
_imageView.setImageResource(mImages[arg0]);
return _imageView;
}
四 ScroView
概念:有下拉滚动条的View
注意:只能有一个子元素,RootView
界面实现:
五 SlidingDrawer
概念:抽屉栏,拖动按钮可以向上或者向下拉界面
界面实现:
重点了解两个属性:
android:id="@+id/handle"按钮
android:content="@+id/content"界面
六 TabHost&TabWidget
功能:多用于动态切换不同的Activity
七 WebView
用于访问网络
界面实现很简单,但是原理非常复杂:
WebView _webView = (WebView)findViewById(R.id.webView1);
_webView.loadUrl("www.baidu.com");