Android SearchView TabHost ScrollView的基本使用

您所在的位置:网站首页 安卓searchview Android SearchView TabHost ScrollView的基本使用

Android SearchView TabHost ScrollView的基本使用

2022-06-21 03:32| 来源: 网络整理| 查看: 265

SearchView

TabHost

ScrollView

Fragment子类关系图:

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