基本的UI控件:
TextView(文本控件)基本属性如下:
android:text ----文本内容
android : textColor-----文本颜色
android : textSize-------文本大小,字体大小单位是sp
EditText(可输入文本框)基本属性如下:
android:inputType ---文本框内输入的内容
android:hint-----提示输入信息
android:drawableLeft
android:drawablePadding
Button(按钮)
RadioButton以及RadioGroup(单选按钮)
CheckBox(多选框):CheckBox的选中状态改变事件监听全选 获取选中的CheckBox的文本
ImageView(图片控件)
各个控件之间相同的属性
android:text,android:width,android:height
android:id
每个控件独有的属性
Button:onClick
EditText: hint,inputType
CheckBox:Checked
RadioButton:Checked
weight:按钮比重,只在线性布局中存在
四种监听方法:
| 控件 | 说明 |
OnClickListener | TextView,Button,ImageView 等 | 监听点击事件,用户点击或者按下导航键时调用其方法
|
OnLongClickListener | TextView,Button,ImageView 等 | 监听长按事件,用户保持点击或按住导航键时调用其 方法 |
OnKeyListener | EditText | 监听物理按键,用户点击或松开物理键时调用其方法 |
OnCheckedChangeListener | CheckBox RadioGroup | 监听选项值的变化,当选项发生变化调用 |
在Activity中的代码:
package com.jerehedu.jreduch01;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
private Button login;
private Button rgbt;
private EditText user,pwd;
private Button exit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
login=(Button)findViewById(R.id.bt1);
rgbt= (Button) findViewById(R.id.bt2);
user= (EditText) findViewById(R.id.et);
pwd= (EditText) findViewById(R.id.et_pwd);
exit= (Button) findViewById(R.id.bt4);
//内部类监听
exit.setOnClickListener(new Bt4_clicklisn());
/*
本类监听需要实现view.onClinkListener接口
再设置 setOnClickListener(this);
*/
rgbt.setOnClickListener(this);
login.setOnClickListener(this);
//匿名监听
//intent :意图,画面跳转
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getBaseContext(),"点击了登陆按钮",Toast.LENGTH_SHORT).show();
if (user.getText().toString().equals("admin")&&pwd.getText().toString().equals("123")){
//这里的getText()获得的是Object 类型数据,需要转换为String 类型。
Intent intent=new Intent(LoginActivity.this,MainActivity.class);
startActivity(intent);
}
}
});
}
//implements View.OnClickListener:实现本类监听
@Override
public void onClick(View v) {
if (v.getId()==R.id.bt2){
Toast.makeText(getBaseContext(),"点击了注册按钮",Toast.LENGTH_SHORT).show();
}
}
//布局监听 *注意方法的参数必须是V
public void reSet(View v){
user.setText("");
pwd.setText("");
}
//内部类监听
public class Bt4_clicklisn implements View.OnClickListener {
@Override
public void onClick(View v) {
finish();
}
}
}
布局中的代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.jerehedu.jreduch01.LoginActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/tv"
android:textSize="20sp"
android:textColor="#1d3ae1"
android:text="基本控件复习"
android:gravity="center"
android:background="@color/testViewColor"/>
<EditText
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/et"
android:drawableLeft="@mipmap/ic_launcher"
android:hint="@string/hint_user"
android:layout_below="@+id/tv"/>
<EditText
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/et_pwd"
android:drawableLeft="@mipmap/ic_launcher"
android:hint="@string/hint_pwd"
android:layout_below="@+id/et"
android:inputType="textPassword"
android:imeOptions="actionGo"
/>
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/rg"
android:orientation="horizontal"
android:layout_below="@+id/et_pwd">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rb1"
android:text="男"
/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rb2"
android:text="女"
android:checked="true"/>
</RadioGroup>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ch1"
android:text="记住密码"
android:layout_below="@id/rg"
/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ch2"
android:text="自动登陆"
android:layout_below="@id/rg"
android:layout_toRightOf="@id/ch1"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/ch"
android:gravity="center"
android:layout_below="@id/ch1"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bt1"
android:text="登陆"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bt2"
android:text="注册"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bt3"
android:text="重置"
android:onClick="reSet"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bt4"
android:text="退出"
/>
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/iv"
android:src="@mipmap/psb"
android:layout_below="@id/ch"/>
</RelativeLayout>