`
百合不是茶
  • 浏览: 354894 次
社区版块
存档分类
最新评论
阅读更多

1、自动完成文本框(AutoCompleteTextView)

AutoCompleteTextView从EditText派生出来,实际上也是一个文本编辑框,但它比普通编辑框多一个功能:当用户输入一个字符后,自动完成文本框会显示一个下拉菜单,供用户从中选择,当用户选择某个菜单项之后,AutoCompleteTextView按用户选择自动填写该文本框。

使用AutoCompleteTextView很简单,只要为它设置一个Adapter,该Adapter封装了AutoCompleteTextView预设的提示文本。

            xml代码;

<AutoCompleteTextView  
        android:id="@+id/textView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />

 android代码:

     

	// 获得下拉框对象
		AutoCompleteTextView textview = (AutoCompleteTextView) this
				.findViewById(R.id.textView);
       //下拉框对象需要一个数据源,使用list队列添加数据
		String[] array = { "设置", "wlan", "移动网络", "声音","显示","存储","电池","引用程序" };
		
		/*第一个:上下文对象
		 第二个:布局的样式
		第三个:数据*/
		ArrayAdapter<String> arrayAdapter =new ArrayAdapter<String>(this,
				android.R.layout.simple_expandable_list_item_1,array );
		
		textview.setAdapter(arrayAdapter);

 

 

 

2、Spinner

Spinner其实就是一个列表选择框。不过Android的列表选择框不是需要显示下拉列表的,而是相当于弹出一个菜单供用户选择。

Spinner是ViewGroup的间接子类,因此它可以作为容器使用。

使用Spinner时已经可以确定下拉列表框里的列表项,则完全不需要编写代码,只要为Spinner指定android:entries属性既可实现一个下拉列表框。

对Spinner而言,它也许需要显示一个供用户选择的列表----至于这个列表是以数组的形式给出,还是以其它什么形式并不重要,重要的是Spinner知道它的每项应该显示什么。

为了让Spinner知道每项应该显示什么,我们可以提供一个内容Adapter。这个Adapter负责决定Spinner列表的每项显

   xml代码;

 

 <Spinner 
        android:id="@+id/spinner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />

 

android代码:

	// 获得下拉框对象
				Spinner spinner = (Spinner) this.findViewById(R.id.spinner);

				List<String> list = new ArrayList<String>();
				list.add("网络");
				list.add("zhangsanfeng");
				list.add("zhang");
				list.add("zhuo");
				//使用List作为数据源
				ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,
						android.R.layout.simple_expandable_list_item_1, list);

				spinner.setAdapter(adapter1);

 

 

 

3,星级评分条(RatingBar)

常用的XML属性如下:

android:isIndicator:设置该星级评分条是否允许用户改变(true为不允许修改)

android:numStars:设置星级评分条有多少个星级

android:rating:设置星级评分条的默认星级

android:stepSize:设置每次最少需要改变多少个星级

xml代码;

   <RatingBar
            android:id="@+id/score"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:isIndicator="false"
            android:numStars="5"
            android:rating="3"
            android:stepSize="0.5" />

android代码:

              RatingBar rating = (RatingBar) this.findViewById(R.id.score);

float ret=rating.getRating();//获得评分 

 

4,RadioGroup和RadioButton

  xml代码;

 

 <RadioGroup
            android:id="@+id/group"
            android:layout_width="wrap_content"
            android:layout_height="30dp"
            android:orientation="horizontal" >

            <RadioButton
                android:id="@+id/men"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:checked="true"
                android:text="男" />

            <RadioButton
                android:id="@+id/women"
                android:layout_width="wrap_content"
                android:layout_height="fill_parent"
                android:text="女" />
        </RadioGroup>

 

      分别使用按钮和和按钮获得性别;两个方法获取

    方法一;  按钮组获取代码;使用按钮组的监听器监听按下的按钮

RadioButton man = (RadioButton) this.findViewById(R.id.men);
RadioButton woman = (RadioButton) this.findViewById(R.id.women);
		
		// 获得按钮组的,并添加监听器
		group = (RadioGroup) this.findViewById(R.id.group);
		group.setOnCheckedChangeListener(new OnCheckedChangeListener() {
			public void onCheckedChanged(RadioGroup group, int checkedId) {
				String s = "";
				if (checkedId == R.id.men) {
					s = "男";
				} else if (checkedId == R.id.women) {
					s = "女";
				}
              Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show();
			}
		});

 

     方法二;使用按钮监听器获得;

 reg是注册按钮添加的监听器

 

RadioButton man = (RadioButton) this.findViewById(R.id.men);
RadioButton woman = (RadioButton) this.findViewById(R.id.women);
//按钮监听器
	public void reg(View v){
		String sex="男";
		if(man.isChecked()){
			sex="男";
		}else if(woman.isChecked()){
			sex="女";
		}
}

 

 

5,CheckBox的使用

    xml代码;

 <CheckBox
            android:id="@+id/sport"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="运动" />

        <CheckBox
            android:id="@+id/sing"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="唱歌" />

 android代码;

  

//获得id
CheckBox sport = (CheckBox) this.findViewById(R.id.sport);
CheckBox sing = (CheckBox) this.findViewById(R.id.sing);
//判断是否选中
if(sport.isChecked()){
	str=str+": "+sport.getText();
}
if(sing.isChecked()){
      str=str+" :"+sing.getText();
}

 

 

0
5
分享到:
评论
1 楼 Function 2015-01-08  
这些控件也是基本控件啊

相关推荐

    Android高级组件

    Android的高级组件PPT,滚动视图:ScrollView,ListView组件的基本使用等等。

    【android编程】第五讲-Android高级组件

    Android第五讲高级组件 文章目录Android第五讲高级组件零. 适配器Adapter一. 列表和列表视图二.网格视图 GridView三.图像切换器 ImageSwitcher四.画廊视图 Gallery五.选项卡 TabHost六.滚动视图 ScrollView七.自动...

    android高级UI组件

    Adapter和AdapterView Spinner(下拉列表) ListView(列表) GridView(网格) Gallery(画廊) SlidingDrawer(滑动抽屉) AutoCompleteTextView(自动完成) TabHost(分页视图)

    android组件化demo

    3. **使用组件化框架**:如ARouter、MVI框架等,提供更高级的组件间通信和路由管理。 **实践与注意事项** 1. **清晰定义组件边界**:明确每个组件的职责,避免组件间的职责交叉。 2. **合理规划公共组件**:例如...

    android各组件详解- View

    自定义View是Android开发中的一项高级技能,它允许开发者创建具有独特功能和外观的UI组件。实现自定义View通常涉及以下几个步骤: 1. **继承View**:创建一个自定义View类,通常是从View或某个具体的View子类(如...

    Android-一个高级的Android模板项目

    在Android开发领域,创建一个高级的模板项目是至关重要的,因为它可以作为后续开发的基础,提供最佳实践、优化的代码结构和可重用的组件。这个“Android-一个高级的Android模板项目”旨在为开发者提供一个起点,帮助...

    Android自定义组件开发详解.docx

    Android自定义组件的开发是Android应用开发中的一个重要部分,它涉及到自定义View和ViewGroup的创建,以及对canvas和paint的深入理解和运用。自定义组件能够满足开发者对于UI设计的独特需求,提升用户体验,同时也是...

    android高级组件

    一个非常常用的高级组件demo,包括:下拉刷新与加载更多的ListView、ORMLite、Cronton、由fragment替换TabActivity的Tabbar、actionbarSherlock、httpClient、SlidingMenu、以及滑动页面效果的PageIndicate等!...

    Android 高级开发面试题以及答案 整理

    Android 高级开发面试题以及答案整理 Android 高级开发面试题以及答案整理是 Android 开发者面试的重要参考资料。该资料涵盖了 Java 基础知识、Android 平台知识、数据存储、网络编程、多媒体处理、Android 架构...

    android绘图 自定义组件

    总结来说,Android绘图与自定义组件的结合是Android开发中的高级技能,它不仅能满足独特的界面设计需求,还能提升应用的用户体验。通过熟练掌握这些技术,开发者可以创造出富有创新和吸引力的移动应用。

    Android C++高级编程:使用NDK(完整版带书签).pdf

    《Android C++高级编程:使用NDK》是一本深度探讨Android平台上C++开发技术的权威著作,完整版带有书签,方便读者随时查阅和学习。本书主要针对Android开发者,特别是那些希望利用C++来提升应用性能、降低内存占用...

    Android自定义组件开发详解自制书签目录版方便看.pdf

    Android自定义组件开发是一项高级技术,它允许开发者创建具有特定功能的UI组件,以满足应用程序的特殊需求。在深入了解自定义组件的开发之前,需要掌握一些基础知识,比如Java基础、面向对象编程(OOP)以及Android...

    Android高级应用源码-android Widget小组件开发.zip

    这个“Android高级应用源码-android Widget小组件开发.zip”资源显然是一个关于创建和优化Android小部件的教程或示例代码集合。我们将深入探讨Android Widget的开发相关知识点。 1. **Android Widget基础**: - **...

    Android高级编程(中文版)

    《Android高级编程》是一本专为想要深入理解Android开发的程序员设计的中文版教程。这本书旨在帮助读者掌握Android系统的高级特性和开发技巧,是Android入门者的理想读物。通过本书,开发者可以提升自己的技能,从...

    Android高级进阶

    《Android高级进阶》这本书是Android开发者提升技能的重要参考资料,由顾浩鑫撰写,全面覆盖了Android开发中的高级技术和实践。书中的内容丰富多样,旨在帮助读者深入理解Android系统的工作原理,掌握更高效的开发...

    Android 自定义组件开发

    总之,Android自定义组件开发是一项深度技术,涉及到图形绘制、事件处理、动画制作等多个方面。通过熟练掌握这些知识,开发者可以构建出更具创新性和高效性的应用程序。《Android自定义组件开发详解》.pdf应该包含更...

    Android高级应用源码-android Widget小组件开发.rar

    本压缩包"Android高级应用源码-android Widget小组件开发"提供了关于如何创建和优化Android Widget的详细示例。以下是对这个主题的深入探讨: 一、Android Widget概述 Widget是Android系统中的一种轻量级组件,它们...

    Android高级编程.pdf

    《Android高级编程》这本书是Android开发者提升技能的重要参考资料,它涵盖了Android开发的多个高级主题,旨在帮助开发者深入理解平台的工作原理,并实现更高效、更优化的应用程序。以下是一些主要的知识点: 1. **...

    《Android自定义组件开发详解》PDF

    《Android自定义组件开发详解》

Global site tag (gtag.js) - Google Analytics