Android SearchView TabHost ScrollView的基本使用 |
您所在的位置:网站首页 › 安卓searchview › Android SearchView TabHost ScrollView的基本使用 |
Fragment子类关系图: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SearchView的使用 TabHost的使用注意事项 ScrollView的功能和用法 SearchView的使用: SearchView是搜索框组件,可以让用户在文本框中输入文字,并允许通过该监听器监控用户输入,当用户输入完成后提交到搜索时,也可以通过监听器执行实际的搜索`。` 常用方法如下: // 设置该SearchView默认是否自动缩小为图标 sv.setIconifiedByDefault(true); // 设置该SearchView显示搜索按钮 sv.setSubmitButtonEnabled(true); // 设置该SearchView内默认显示的提示文本 sv.setQueryHint("查找"); // 为该SearchView组件设置事件监听器 sv.setOnQueryTextListener(new OnQueryTextListener()){} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
main.xml的代码:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Activity代码区; public class MainActivity extends Activity { private SearchView sv; private ListView lv; // 自动完成的列表 private final String[] mStrings = { "aserbao", "aaaaaa", "cccccc" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); lv = (ListView) findViewById(R.id.lv); lv.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, mStrings)); // 设置ListView启用过滤 lv.setTextFilterEnabled(true); sv = (SearchView) findViewById(R.id.sv); // 设置该SearchView默认是否自动缩小为图标 sv.setIconifiedByDefault(true); // 设置该SearchView显示搜索按钮 sv.setSubmitButtonEnabled(true); // 设置该SearchView内默认显示的提示文本 sv.setQueryHint("查找"); // 为该SearchView组件设置事件监听器 sv.setOnQueryTextListener(new OnQueryTextListener() { // 用户输入字符时激发该方法 @Override public boolean onQueryTextChange(String newText) { // 如果newText不是长度为0的字符串 if (TextUtils.isEmpty(newText)) { // 清除ListView的过滤 lv.clearTextFilter(); } else { // 使用用户输入的内容对ListView的列表项进行过滤 lv.setFilterText(newText); } return true; } // 单击搜索按钮时激发该方法 @Override public boolean onQueryTextSubmit(String query) { // 实际应用中应该在该方法内执行实际查询 // 此处仅使用Toast显示用户输入的查询内容 Toast.makeText(MainActivity.this, "您的选择是:" + query , Toast.LENGTH_SHORT).show(); return false; } }); } } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TabHost的使用注意事项:
与TabHost结合的组件还有: TabWidget:代表选项卡的标题条 TabSpec:代表选项卡的一个Tab页面 TabHost只是一个简单的容器,它提供下面两个方法来创建,添加标签页: newTabSpec(String tag):创建选项卡。 addTab(TabHost,TabSpec tabSpec):添加选项卡。 使用TabHost的一般步骤如下: 1:定义TabHost组件,并添加内容 2:Activity继承自TabActivity 3:通过TanActivity的getHostTab()方法来获取TabHost对象 4:通过TabHost对象的方法来创建,添加选项卡 ID要求: TabHost的ID应该是:@android:id/tabhost TabWeight的ID应该是:@android:id/tabs FrameLayout的ID应该是:@android:id/tabcontent main.xml代码如下:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Activity代码如下: public class MainActivity extends TabActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); // 获取该Activity里面的TabHost组件 TabHost tabHost = getTabHost(); // 创建第一个Tab页 TabHost.TabSpec tab1 = tabHost.newTabSpec("tab1") .setIndicator("已接电话") // 设置标题 .setContent(R.id.tab01); //设置内容 // 添加第一个标签页 tabHost.addTab(tab1); TabHost.TabSpec tab2 = tabHost.newTabSpec("tab2") // 在标签标题上放置图标 .setIndicator("呼出电话", getResources() .getDrawable(R.drawable.ic_launcher)) .setContent(R.id.tab02); // 添加第二个标签页 tabHost.addTab(tab2); TabHost.TabSpec tab3 = tabHost.newTabSpec("tab3") .setIndicator("未接电话") .setContent(R.id.tab03); // 添加第三个标签页 tabHost.addTab(tab3); } } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
最新的Android平台已不再推荐使用TabActivity,而是用Fragment代替。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ScrollView的功能和用法:
ScrollView和HorizontalScrollView的功能基本相似: 代码区: main.xml的代码: 这里添加了大量的TextView只为了测试上下左右滑动的效果,实测中可以去掉一部分.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
scrollView与listView的冲突,是一个经常让大家头疼的问题,也是经常困扰我的问题,之后博主会就这个问题写一篇详细的博客!如果各位有什么Android方面好的意见或者建议,问题,可以留言,看到在第一时间回复,不会的可以加个好友一起探讨学习! 生命不息,学习不止,我是aserbao,一个从事Android开发的程序猿! 小奋斗文章 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |