让用户在文本框内输入文字,并允许通过监听器监听用户输入,当用户输入完成后提交搜索时,也可以通过监听器监听实际的搜索。
setIconifiedByDefault(boolean iconified)//设置该搜索框默认是否自动缩小为图标
setSubmitButtonEnabled(boolean enabled)//设置是否显示搜索按钮
setQueryHint(CharSequence hint) //设置搜索框内默认显示的提示文本
setOnQuryTextListener(SearchView.OnQueryTextListener listener) //为该搜索框设置事件监听器。
注:如果为SearchView增加一个配套的ListView,可以为SearchView增加自动完成的功能。
在activity中进行设置:
search = (SearchView) findViewById(R.id.search);
search.setIconifiedByDefault(false);//1、设置不自动缩小为图标
search.setSubmitButtonEnabled(true);//设置显示搜索按钮
search.setQueryHint("查找");//设置默认显示的提示文本
search.setOnQueryTextListener(new OnQueryTextListener() { //设置监听事件
@Override
public boolean onQueryTextChange(String arg0) {//用户输入字符时激发该方法
// TODO Auto-generated method stub
//实际中在该方法中执行实际的查询
Toast.makeText(getApplicationContext(), "正在输入字符", Toast.LENGTH_SHORT).show();
return false;
}
@Override
public boolean onQueryTextSubmit(String arg0) {//单击搜索按钮时激发该方法
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "正在搜索", Toast.LENGTH_SHORT).show();
return true;
}
});
TabHost可以很方便的在窗口上防止多个标签页,每个标签页相当于获得了一个与外部容器相同大小的组件摆放区域。
TabWidget:代表选项卡的标签条。
TabSpec:代表选项卡的一个Tab页面。
newTabSpec(String tag);//创建选项卡
addTab(TabHost.TabSpec tabSpec) ;//添加选项卡
1>在布局中定义TabHost组件,并为该组件定义该选项卡的内容。
2>Activity应该继承TabActivity
3>调用TabActivity的getTabHost()方法获取TabHost对象。
4>通过TabHost对象的方法来创建、添加选项卡。
1>TabHost容器内部需要两个组件的组合,TabWidget:定义选项卡的标题条; FrameLayout用于“层叠”组合多个选项页面。
2>对id的要求:
TabHost的ID应该为:@android:id/tabhos.
TabWidget的ID应该为@android:id/tabs.
FrameLayout的ID应该为@android:id/tabcontent.
这是引用了Android已有的ID.
TabHost tabHost = getTabHost();
TabSpec tab1 = tabHost.newTabSpec(“tab1”)
.setIndicator(“已接电话”) //设置标题
.setContent(R.id.tab01); //设置内容
tabHost.add(tab1);
最新版本的Android平台不再推荐使用TabActivity,而是推荐使用Fragment来代替TabActivity.
所以这里不再详细作介绍。
ScrollView是由FrameLayout派生而出,它就是一个用于为普通组件添加滚动条的组件,ScrollView里最多只能包含一个组件,而ScrollView的作用就是为该组件添加垂直滚动条。
默认情况下,ScrollView只是为其他组件添加垂直滚动条,如果需要添加水平滚动条,可借助于另一个滚动视图—–HorizontalScrollView来实现。
功能:为应用添加水平滚动条,其中也添加垂直滚动条:
<ScrollView 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" >
<HorizontalScrollView android:layout_width="match_parent" android:layout_height="wrap_content">
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="好看撒个好看的法国开连发几个开发奖了发的康快递费狼藉几点开始拉克的开始啦发动机卡死啦拉萨快乐的罚款疯狂的拉萨"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="好看撒个好看的法国开连发几个开发奖了发的康快递费狼藉几点开始拉克的开始啦发动机卡死啦拉萨快乐的罚款疯狂的拉萨"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="好看撒个好看的法国开连发几个开发奖了发的康快递费狼藉几点开始拉克的开始啦发动机卡死啦拉萨快乐的罚款疯狂的拉萨" />
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="好看撒个好看的法国开连发几个开发奖了发的康快递费狼藉几点开始拉克的开始啦发动机卡死啦拉萨快乐的罚款疯狂的拉萨"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="好看撒个好看的法国开连发几个开发奖了发的康快递费狼藉几点开始拉克的开始啦发动机卡死啦拉萨快乐的罚款疯狂的拉萨"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="好看撒个好看的法国开连发几个开发奖了发的康快递费狼藉几点开始拉克的开始啦发动机卡死啦拉萨快乐的罚款疯狂的拉萨"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="好看撒个好看的法国开连发几个开发奖了发的康快递费狼藉几点开始拉克的开始啦发动机卡死啦拉萨快乐的罚款疯狂的拉萨"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="好看撒个好看的法国开连发几个开发奖了发的康快递费狼藉几点开始拉克的开始啦发动机卡死啦拉萨快乐的罚款疯狂的拉萨"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="好看撒个好看的法国开连发几个开发奖了发的康快递费狼藉几点开始拉克的开始啦发动机卡死啦拉萨快乐的罚款疯狂的拉萨"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="好看撒个好看的法国开连发几个开发奖了发的康快递费狼藉几点开始拉克的开始啦发动机卡死啦拉萨快乐的罚款疯狂的拉萨"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="好看撒个好看的法国开连发几个开发奖了发的康快递费狼藉几点开始拉克的开始啦发动机卡死啦拉萨快乐的罚款疯狂的拉萨"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="好看撒个好看的法国开连发几个开发奖了发的康快递费狼藉几点开始拉克的开始啦发动机卡死啦拉萨快乐的罚款疯狂的拉萨"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="好看撒个好看的法国开连发几个开发奖了发的康快递费狼藉几点开始拉克的开始啦发动机卡死啦拉萨快乐的罚款疯狂的拉萨"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="好看撒个好看的法国开连发几个开发奖了发的康快递费狼藉几点开始拉克的开始啦发动机卡死啦拉萨快乐的罚款疯狂的拉萨"/>
<TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="好看撒个好看的法国开连发几个开发奖了发的康快递费狼藉几点开始拉克的开始啦发动机卡死啦拉萨快乐的罚款疯狂的拉萨"/>
</LinearLayout>
</HorizontalScrollView>
</ScrollView>
结果演示: