Android 常用控件

Android项目结构

1. src/存放java源代码

2. gen/中存放系统自动生成的配置文件

3. android 4.4.2 /该文件夹下包含android.jar文件,这是一个java归档文件,其中包含构建应用程序所需的所有的AndroidSDK库如controls(Views\)和API

4. assets /存放资源文件,不会自动生成id且不会自动占用空间

5. bin/存放应用被编译后生成的科执行文件(.apk),以及应用用到被打包到apk中的资源文件

6. res/存放应用用的的所有资源,如图片布局等.

6.1 drawable/存放不同密度的图片资源

6.2 layout/存放布局文件

6.3 values/存放字符串,主题,颜色,样式等资源文件,values-v11是存放3.0版本的.v14存放4.0版本

7. AndroidManifest.xml清单文件,配置一些与应用有关的重要信息,包含包名,权限,程序组件等等。

 

Android控件之TextView和EditText

TextView:显示文本框控件

EditText:输入文本框

 

 

ImageView是显示图片的一个控件
属性:
android:src= "@drawable/ic_launcher"----ImageView的内容图像
android:background= "@drawable/ic_launcher"----ImageView背景图片
android:background= "#00ff00"----ImageView的RGB颜色

 

Button和ImageButton的特征和区别
button有text属性,而imagebutton没有
imagebutton有scr属于,而button没有

 

使用按钮Button

res/value下的String.xml存放资源,button的名字就存放在String.xml。
所有Button控件的中文和数字不建议写在activity_main.xml中,而是先把字符串按照一定格式写在res\values\strings.xml里面,然后在xml中通过字符串的id引用使用。
例如:
先在strings.xml中编辑
<string name="button_name">登陆</string>;
再在activity_main.xml中
android:text="@string/button_name" 来访问"登录"字符串。

value中的String存放一些字符串,资源等。

res下的所有资源,都会对应的在gen目录下的R文件中生成资源对应的ID
Button与smallButton没什么区别,就是大小的问题,在smallButton中多了一个属性:
style="?android:attr/buttonStyleSmall

 

使用ImageButton

Button可以设置文本内容
ImageButton不可以已设置文本内容,但是可以通过background或者src属性添加一个图片,图片上有文本内容的图片。

监听按钮的点击事件

1、Button和ImageButton都拥有一个onclick事件。

  通过自身的.setOnClickListener(OnClickListener)方法添加点击事件。

2、所有的控件都有一个onclick,不仅仅Button和ImageButton拥有。

3、通过点击事件的监听可以实现点击按钮之后要发生什么动作。

监听事件实现的几种方式:

1、匿名内部类的实现

通过自身的.setOnClickListener(new OnClickListener(){ })方法添加点击事件(直接new一个匿名内部类),然后在onClick()方法中监听点击Button的动作,并可做出相应。

2、独立类的实现

通过建立一个外部类方式,在.setOnClickListener(new 新建的外部类)方式添加点击事件,这种方法在有多个Button且的动作一致时使用,可减少冗余代码。

3、实现接口的方式来实现

现在MainActivity实现OnClickListener接口,然后实现对应的onClick方法。

 

实现跑马灯效果

1、TextView在文本过长时默认折行,通过设置Android:singleLine来保持在一行显示,但超过范围不显示。
1、Android:ellipsize=”start”—–省略号显示在开头 "...pedia"
android:ellipsize=”end”——省略号显示在结尾 "encyc..."

android:ellipsize=”middle”—-省略号显示在中间 "en...dia"
android:ellipsize=”marquee”–以横向滚动方式显示(需获得当前焦点时)
2、android:focusable="ture"使文本可以获取焦点
android:focusableInTouchMode="true"用于触摸屏可以获取焦点的形式,删除无影响
3、由于默认第一行获取焦点,所以强制使两行isFocused=""true",均获取焦点。

 

多行跑马灯效果:

1、解决TextView单行显示问题
singleLine=“true”
ellipsize="marquee"
focusable="true"
focusableInTouchMode="true"

2、自定义一个Text类的子类,实现它的3个构造函数,

然后重载它的isFocusd()方法,return true。

3、在activity_main.xml中加入自定义的控件:包名.类名 方式加入

例:<com.abc.marqueetextviewdemo.MarqueeText   ... /> 

 

Tips:

px,dp(dip),sp
1.在开发中不建议使用px,px不能根据分辨率来进行等比缩放;
2.dp和sp都可以根据分辨率来进行等比缩放;
3.在控件中做长度大小限制时推荐使用dp,sp更多用于显示文字size;
4.在android最新的SDK中推荐使用dp

 

AutoComleteTextView

1、功能:

动态匹配输入的内容,如百度热搜引擎当输入文本时,可以根据内容显示匹配的热门信息。

2、独特属性

android:completionThreshold= "2"      设置输入多少字符时自动匹配

1.初始化控件

acTextView = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);

2.需要一个适配器,初始化数据源--这数据源去匹配文本框中输入的内容

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, res)

4.将adapter与当前AutoCompleteTextView绑定

acTextView.setAdapter(adapter);

 

MutiAutoCompleteTextView

实现多值选取匹配内容的文本框,常用作发送邮件的文本框

与AutoCompleteTextView不同的是第5点:

5.设置以逗号分隔符为结束的符号

macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

 

ToggleButton

1.什么是ToggleButton:

ToggleButton有两种状态:选中和未选中状态。并且需要为不同的状态设置不同的显示文本。

2.ToggleButton属性:

android:checked="true"   ToggleButton是否被选中

android:textOff="关"

android:textOn="开"

3.使用ToggleButton实现按钮开关效果

(1)初始化ToggleButton控件、在初始化一个ImageView控件,实现点击ToggleButton按钮的时候,ImageView图片的改变。

private ToggleButton tb;

private ImageView img;

tb = (ToggleButton) findViewById(R.id.toggleButton1);

img = (ImageView) findViewById(R.id.imageView1);

(2)给当前的tb设置监听器

tb.setOnCheckedChangeListener(this);

重载OnCheckedChanged方法:

public void onCheckedChanged(compoundButton buttonview, boolean ischecked){

//当tb被点击时,当前方法会执行

//buttonview--代表被点击的控件本身

//isChecked--代表被点击的控件的状态

//当点击这个tb的时候,更换img的背景,载入drawable下的on图片

img.setBackgroundResource(R.drawable.on); 

 

CheckBox

1.初始化CheckBox

2.设置checkBox的监听事件判断是否被选中

3.接受选中后的内容

 

RadioGroup和RadioButton

RadioButton选中后无法改变,一般不建议单独使用

1.RadioGroup

RadioButton的一个集合,提供多选一机制

2.属性:

android:orientation="vertical" --- 垂直排布

android:orientation="horizontal" --- 水平排布

决定当前RadioGroup中的RadioButton以什么形式排列。

 

posted @ 2016-07-01 11:28  sinpi  阅读(266)  评论(0)    收藏  举报