Android -ui控件

一:TextView控件
TextView --》 View

1.创建TextView的两种方式:

1.1编写TextView类
	TextView tv = new TextView(this);
1.2编写xml文件
	<TextView
		android:id="+id/text_view_id"
		android:layout_height="wrap_content"
		android:layout_width="wrap_content"
		android:text="@string/hello"/>
应用TextView控件:
	TextView tv = (TextView)findViewById(R.id.text_view_id);
	tv.setText(R.string.user_greeting);

2.TextView属性:

字体大小推荐使用sp作为单位;宽高属性推荐使用dp作为单位
改变样式:
	2.1textView.setText(Html.fromHtml("<font color=blue>欢迎!</font>"));
	2.2xml文件中添加样式
		android:textSize="20sp"
		android:textColor="#00FF00"		//改变全部字体颜色
		android:autoLink="all"	//设置是否将文本为url链接/email/电话/map
	2.3
		String str = "欢迎收看系列课程";
	    // class SpannableStringBuilder implements CharSequence
	    SpannableStringBuilder style = new SpannableStringBuilder(str);
	    style.setSpan(new ForegroundColorSpan(Color.RED),0,6, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
	    style.setSpan(new ForegroundColorSpan(Color.GREEN),6,21, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
	    style.setSpan(new ForegroundColorSpan(Color.BLUE),21,34, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
	    //setText(CharSequence text)
	    tv.setText(style);

3.跑马灯效果:

android:ellipsize="marquee"		//当文字过长时,控件如何显示
android:singleLine="true"		//单行显示文字
android:focusable="true"		//控件是否能够获取焦点
android:focusableInTouchMode="true"		//是否在触摸模式下获得焦点
android:marqueeRepeatLimit="marquee_forever"	//滚动重复次数

二:EditText控件
EditText --》 TextView --》 View --》 Object

1.去除EditText自动聚焦的方法:

<EditText 
	android:layout-width="0dp"
	android:layout-height="0dp" />

2.属性设置

限制字符的输入数量:
	android:maxLength="3"
多行文本框:
	android:singleLine="false"	//true为单行文本框
限制EditText输入信息:
	android:inputType="number"	//限制文本输入为数字
设置提示信息:
	android:hint="我是EditText"
在EditText中显示图片:
	android:drawableLeft="@drawable/title"
设置圆角:
	android:background="@drawable/shape"

三:Button控件
Button --》 TextView

//button控件
btn1 = (Button) findViewById(R.id.btn1);
btn1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
//              System.out.println("你点击了按钮!");
        Toast.makeText(MainActivity.this,"你点击了按钮!",Toast.LENGTH_SHORT)
            .show();
    }
});
//让多个button使用同一个listener
btn2 = (Button) findViewById(R.id.btn2);
btn1.setOnClickListener(listener);
btn2.setOnClickListener(listener);

private View.OnClickListener listener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Button btn = (Button)v;
        switch (btn.getId()){
            case R.id.btn1:
                Toast.makeText(MainActivity.this,"click me!",Toast.LENGTH_SHORT)
                        .show();
                break;
            case R.id.btn2:
                System.out.println("你点击了Button2");
                break;
        }
    }
};

四:intent
1.拨打号码

private Button mainBtn = null;

public void onCreate(Bundle savedInstanceState){
	super.onCreate(savedInstanceState);
	setContentView(R.layout.main);
	mainBtn = (Button)findViewById(R.id.mainBtn);
	main.setOnClickListener(listener);
}

private onClickListener listener = new onClickLister(){
	public vold onClick(View v){
		Intent intent = new Intent();
		intent.setAction(Intent.ACTION_CALL);	//拨打电话
		intent.setData(uri.parse("tel:110"));
		intent.setAction(Intent.ACTION_SENDTO);
		intent.setData(uri.parse("smsto:110"));	//发送短信
		startActivity(intent);
	}
};

AndroidManifest.xml中:
//解决拨打电话时的安全异常,
<users-permission android:name="android.permission.CALL_PHONE" />
posted @ 2019-06-28 21:22  zlgSmile  阅读(122)  评论(0编辑  收藏  举报