常用控件
上次我们讲了布局:线性布局、表格布局、帧布局和相对布局,这个布局,它是在整个移动端设计内容的一个框架的方式,以什么方式来设计界面。最终在界面里面,放置的是控件,所谓控件,就是程序员可以控制的组件,将来用户可以和程序进行交互的组件。
1.文本控件
TextView:主要用来向用户显示内容。相当于一个标签,只显示
EditText:可以用于编辑内容。 相当于一个文本框,可以编辑
控件最重要的是了解它的属性,了解了属性,在了解之后会更加简单。
省略:anroid:打头
TextView的属性 Java代码
text 设置TextView的内容 setText(文本)
textColor 设置文本的颜色 setTextColor(颜色)
textSize 设置文本的大小; setTextSize(大小)
gravity 定义TextView在x轴和y轴方向上的显示方式
hint: 提示信息 setHint(int);
EditText属性:相当于文本框
lines: 设置行数 setLines(int)
singleLine 单行 setSingleLine(boolean)
password 设置是否是密码 setTransformationMethod(参数)
phoneNumber 设置内容只能是电话号码 setInputType(InputType类型)
事件监听
setOnKeyListener 对键盘事件进行监听
在前面设计布局的时候,在下面这个文件写代码;
active_main.xml
<![CDATA[TextView上;
最重要的是理解原理;
作业:邮箱 手机 密码等等;
刚才的问题是:高度直接扩到整个手机屏幕了;
-->
]]>
<EditText
android:id="@+id/uname"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="请输入用户名" />
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/unameInfo"
android:background="@color/purple"
android:text="测试"
android:textSize="20dp"/>
public class MainActivity extends AppCompatActivity {
EditText uname;
TextView unameInfo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
uname=(EditText) findViewById(R.id.uname);
unameInfo=(TextView) findViewById(R.id.unameInfo);
uname.setOnKeyListener(new View.OnKeyListener(){
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
String str=uname.getText().toString();
System.out.println(str+"-----");
unameInfo.setText(str);
return false;
}
});
}
}
2.按钮控件
按钮控件就是我们平时看到的Button按钮和ImageButton控件,用的比较多,一般都是用来操纵按钮来实现相应的命令,比如说在手机上很多的查找、登录、注册,各种点击游戏等。
按钮控件名:是啥?
Button
ImageButton:
这个和Button的区别在于它是没有文本的,只有啥?图片,所以需要制定它的图片路径。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:layout_width="100dp"
android:layout_height="wrap_content"
android:id="@+id/btnLogin"
android:text="登录"/>
<ImageButton
android:layout_width="100dp"
android:layout_height="wrap_content"
android:src="@mipmap/hjamera"
android:id="@+id/btn222"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/msg"
android:textSize="20dp"/>
</LinearLayout>
后台代码
package com.aaa.zyg001;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
import org.w3c.dom.Text;
public class MainActivity extends AppCompatActivity {
Button btn1;
ImageButton btn2;
TextView msg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1=(Button) findViewById(R.id.btnLogin);
btn2=(ImageButton)findViewById(R.id.btn222);
msg=(TextView)findViewById(R.id.msg);
btn1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
msg.setText("看看我的反映哦!!!");
}
});
}
}
作业:做下测试或扩展一下即可。
|