您的位置:首页 > 移动开发 > Android开发

Android入门基础之控件

2017-02-11 12:45 267 查看
TextView:显示文本框控件

EditText:输入文本框

TextView与EditText共有常用属性:

android:id——控件的id

android:layout_width——控件的宽度

android:layout_height——控件的高度

android:text——文本内容

android:textSize——文本大小

android:textColor——文本颜色

android:background——控件背景

EditText有TextView没有的属性:

android:hint——输入提示文本

android:inputType——输入文本类型

属性值:

wrap_content:包裹实际文本内容

martch_parent: 当前控件铺满父类容器——2.3api之后添加的一个属性值

fill_parent:当前控件铺满父类容器——2.3api之前添加的一个属性值

ImageView:显示图片的一个控件

属性:android:src=”@drawable/img_name”——ImageView的内容图像

android:background=”@drawable/img_name”——ImageView背景图片

android:background=”#000”——ImageView的RGB颜色

Button按钮与ImageButton图片按钮

1、共有特点:都可以作为一个按钮产生点击事件;

2、不同点:Button有text属性,ImageButton没有;ImageButton有src属性,Button没有

3、产生明显的点击效果

【注意】存放当前应用程序所用的字符串等数据,放在values下的string.xml下,如

<string name="button_name">登录</string>//string.xml中代码
android:text="@string/button_name"//访问对应string.xml中内容


Button和ImageButton的监听事件

onClick事件

1、Button和ImageButton都拥有一个onClick事件,通过自身的.setOnClickListener(OnClickListener)方法添加点击事件;

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

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

监听事件实现的几种写法:

1、匿名内部类的实现;

package com.aop.demo;
import android.app.Activity;
public class MainActivity extends Activity{
private Button loginButton;
@Override
protected void onCreate(Bundle saveInstanceState){
super.onCreate(saveInstanceState);
setContentView(R.layout.activity_main);
loginButton=(Button)findViewById(R.id.button1);//初始化findViewById返回的是一个View的对象
//设置Button的监听器,通过监听器实现我们点击Button要操作的事情
/*1、通过匿名内部类实现*/
loginButton.setOnclickListener(new OnclickListener(){
@Override
public void onClick(View arg0){
System.out.println("Button被点击了");//在当前方法中监听点击Button的动作
}
});
}
}


2、独立类的实现;

//独立类实现
public class MainActivity extends Activity implements OnclickListener{
private ImageButton imgBt;
@Override
protected void onCreate(Bundle saveInstanceState){
super.onCreate(saveInstanceState);
setContentView(R.layout.activity_main);
loginButton.setOnclickListener(listener);
}
OnclickListener listener=new OnclickListener(){
@Override
public void onClick(View v){
log.i("tag","第二种方式实现");//打印日志到控制台
}
};
}


//点击事件**外部类**的写法和作用
loginButton.setOnclickListener(new MyOnclickListener(){
@Override
public void onClick(View v){
super.onClick(v);//调用父类的onClick
Toast.makeText(MainActivity.this,"loginButton要执行的逻辑",1).show();
}
});
//OnclickListener是一个接口,多个可以实现同样功能
class MyOnclickListener implements OnclickListener{
@Override
public void onClick(View v){
v.setAlpha(0.5f);//改变透明度
}
}


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

package com.aop.demo;
import android.app.Activity;
public class MainActivity extends Activity implements OnclickListener{
private ImageButton imgBt;
@Override
protected void onCreate(Bundle saveInstanceState){
super.onCreate(saveInstanceState);
setContentView(R.layout.activity_main);
imgBt=(ImageButton)findViewById(R.id.imageButton1);
/*通过实现一个接口事件实现*/
imgBt.setOnclickListener(this);
}
@Override
public void onClick(View v){
log.i("tag","第三种方式实现");//打印日志到控制台
}
}


AutoCompleteTextView与MultiAutoCompleteTextView控件

1)AutoCompleteTextView控件

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

独特属性:android
4000
:completion Threshold=”2”——设置输入多少字符时自动匹配

2)MultiAutoCompleteTextView控件

功能:可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配,可用在发短信,发邮件时选择联系人这种类型当中;

独特属性:android:completion Threshold=”2”——设置输入多少字符时自动匹配;

设置分隔符

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.exe.demo.MainActivity"
tools:ignore="MergeRootFrame"
android:orientation="vertical
>

<AutoCompleteTextView
android:completionThreshold="3"
android:id="@+id/autoCompleteTextView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入你要搜索的关键词" >
</AutoCompleteTextView>

<MultiAutoCompleteTextView
android:id="@+id/multiAutoCompleteTextView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入你的收件人" >
</MultiAutoCompleteTextView>

</LinearLayout>


package com.exe.demo;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;

public class MainActivity extends Activity {
//初始化数据源——数据源去匹配文本框中输入的内容
private String[] res={"beijing1","beijing2","beijing3","shanghai1","shanghai2"};
private AutoCompleteTextView acTextView;
private MultiAutoCompleteTextView macTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
acTextView=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
//需要一个适配器
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res);
//将adapter与当前AutoCompleteTextView绑定
acTextView.setAdapter(adapter);

macTextView=(MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView1);
macTextView.setAdapter(adapter);
//设置以逗号为分隔符
macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}


ToggleButton控件

ToggleButton控件的两种状态:

选中和未选中状态,并且需要为不同的状态设置不同的显示文本;

ToggleButton属性:

android:checked=”true”,默认false

android:textOff=”关”

android:textOff=”开”

CheckBox复选框

两种状态,选中(true),未选中(false):android:checked=”true”默认false

<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="篮球" />


public class MainActivity extends ActionBarActivity {
private CheckBox checkBox;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

checkBox=(CheckBox)findViewById(R.id.checkBox1);//初始化

checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener(){
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked){
Log.i("tag", isChecked+"");
if(isChecked){
String text = checkBox.getText().toString();
Log.i("tag",text);
}
}
});
}
}


RadioButton和RadioGroup

1、RadioGroup:RadioButton的一个集合,提供多选一机制

属性:android:orientation=”vertical”——垂直排列

android:orientation=”horizontal”——水平排列

<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/radio0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="男" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女" />
</RadioGroup>


public class MainActivity extends ActionBarActivity implements OnCheckedChangeListener{
private RadioGroup rg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rg=(RadioGroup)findViewById(R.id.radioGroup1);//初始化
rg.setOnCheckedChangeListener(this);//监听器

}
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
switch(checkedId){
case R.id.radio0:
Log.i("tag","你当前是一个男孩");
break;
case R.id.radio1:
Log.i("tag","你当前是一个女孩");
break;
default:
break;
}
}
}


到这里Android入门基础之控件就讲完了,下次我们一起来看Android入门基础之布局
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 控件 textview