内容概览
- UI基本控件概览
- TextView属性解析
UI基本控件概览
TextView属性解析
TextView是最基本的控件,直接继承了View,也是众多控件的父类。
TextView 中常用属性
- 当文本内容为电话、邮箱或特定格式时...
- 当文本内容超出控件宽度时...
- 当需要更改文本字体类型与风格时....
解析属性-id
- @id/:则表示设置的事系统 已经创建好的ID,如果该ID不存在,则会报错
- @+id/:表示创建一个新的ID,如果该ID在R.java中已经存在,就不再生成新的变量,而直接使用
解析属性-autoLink
- 识别链接类型
- 当文字中出现了URL,E-Mail,电话号码,地图的时候,我们可以通过设置autoLink属性;当我们点击文字中对应部分的文字,即可跳转至某默认APP,比如一串号码,点击后跳转至拨号界面!
解析属性:省略号和跑马灯
android:singleLine="true"//单行显示
android:ellipsize="marquee"//使用ellipsize来设置文字溢出隐藏、设置跑马灯效果
android:textIsSelectable="true"//让TextView可滑动
android:marqueeRepeatLimit="marquee_forever"//跑马灯无限循环
Button基本属性
实现监听器四种方式
- 创建成员内部类
- 创建匿名内部类
- Activity直接实现监听器接口
- 通过XML布局文件定义onClick属性
第一种方式:创建成员内部类
吐司的使用方法:Toast.makeText(a,b,c);a.当前界面对象(上下文环境) b.显示内容 c.吐司实现长度
- 第一步:在XML布局文件中添加<Button />控件并为其设置id
- 第二步:在java代码中(需要显示该控件的Activity中)通过设置setContentView,装载Button所在的XML布局
- 第三步:通过Button的id在Activity中获取到Button的对象
- 第四步:为button按钮添加监听事件
- a.创建内部类并实现OnClickListener接口
- b.重写onClick方法(当按钮被点击后想干什么)
- c.生成内部类对象
- d.为按钮添加监听对象
第一步: 在XML布局文件中添加<Button />控件并为其设置id
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮" />
第二、三、四步:
package com.example.testonclicklistener;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends ActionBarActivity {
private Button button;
int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//第二步:设置显示View
setContentView(R.layout.activity_main);
//第三步:获取Button的对象
button=(Button)findViewById(R.id.button);
//c.生成内部类对象
buttonOnclickListener buttonOnclick =new buttonOnclickListener();
//d.为按钮添加监听对象
button.setOnClickListener(buttonOnclick);
}
//第四步:为button按键添加监听事件
//a.创建内部类并实现OnClickListener接口
class buttonOnclickListener implements OnClickListener{
@Override
public void onClick(View arg0) {
// b.重写onClick的方法(当按键被点击后想干什么
//该方法在绑定的按钮被点击时调用,v为对象绑定的控件
//吐司的使用方法:Toast.makeText(a,b,c);a.当前界面对象(上下文环境) b.显示内容 c.吐司实现长度
Toast.makeText(MainActivity.this, "我被点击了"+i+"次",Toast.LENGTH_SHORT).show();
i++;
}
}
}
第二种方式:创建匿名内部类(最常用)
第一步:获取Button对象
第二步:直接调用button的setOnClickListener方法
a.在方法中,传入new OnClickListener(){
onClick(){ } }
button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
});
第三种方式:Activity直接实现监听器接口
package com.example.testonclicklistener;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Third extends Activity implements OnClickListener {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
button=(Button) findViewById(R.id.button);
button.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
}
}
第四种方法:通过XML布局文件定义onClick属性
- 第一步:在xml布局中,为button添加onClick属性
- 第二步:在对应的Activity中,创建一个以onClick属性值为名字的方法
- a.修饰符public b.返回值void c.传入参数View类型
Xml文件中
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="buttononClick"
android:text="按钮" />
对应的Acitivity
package com.example.testonclicklistener;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class Fourth extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
public void buttononClick(View view){
Toast.makeText(Fourth.this,"第四种方法",Toast.LENGTH_LONG).show();
}
}
为多个按钮使用同一监听器
首先创建内部类实现OnClickListener接口
在onClick方法中,通过Switch(v.getId()) 方式区别当前是哪个按钮
package com.example.testonclicklistener;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Fourth extends Activity {
private Button btn1;
private Button btn2;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
btn1=(Button) findViewById(R.id.button);
btn2=(Button) findViewById(R.id.button2);
btn1.setOnClickListener(new buttonOnClickListener());
btn2.setOnClickListener(new buttonOnClickListener());
}
class buttonOnClickListener implements OnClickListener{
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
break;
case R.id.button2:
break
default:
break;
}
}
}
}