1、TextView 处理文本内容控件
2、Button 被点击控件
3、mageView 处理图片内容控件
4、EditText 接收用户信息输入的控件
5、ProgressBar 进度条控件
二、通用属性通用属性使用演示:
三、TextView 1、TextView的继承关系 2、能完成的效果
TextView类似于Swing中的JLabel
- 对长文本进行显示处理
- 支持Html代码
- 内容有样式、链接的效果
3、常用属性
- android:textSize 设置文字大小 (sp)
- android:textColor 设置文字颜色
- android:lineSpacingMultiplier 设置文字倍距(123)
- android:singleLine 设置单行 (true or false)
- android:ellipsize 设置省略号位置 (start or middle or end or none or marquee)
- android:ellipsize="marquee" 跑马灯 需要设置下面属性
- android:focusable="true"
- android:focusableInTouchMode="true"
- android:marqueeRepeatLimit="marquee_forever"
注意:ScrollView滚动,只能有一个TextView 如果有多个外边用布局包上
四、EditText输入框, 接收信息输入
1、常用属性- android:inputType 输入类型
- android:hint 提示信息
- android:maxLength 长度限制
- 自定义内部类
package com.example.testapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class ButtonActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button);
Button btn1 = findViewById(R.id.btn1);
MyClickListener mc1 = new MyClickListener();
// 点击事件:被点击时触发的事件
btn1.setonClickListener(mc1);
}
class MyClickListener implements View.onClickListener {
@Override
public void onClick(View view) {
// 控制台输出一条语句
Log.e("TAG", "刚刚点击的按钮是注册了内部类监听对象的按钮");
}
}
}
- 匿名内部类
// 匿名内部类
Button btn2 = findViewById(R.id.btn2);
btn2.setonClickListener(new View.onClickListener() {
@Override
public void onClick(View view) {
Log.e("TAG", "刚刚点击的按钮是匿名内部类");
}
});
- 当前Activity去实现事件接口
- 在布局文件中添加点击事件属性
package com.example.testapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class ButtonActivity extends AppCompatActivity implements View.onClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_button);
Button btn1 = findViewById(R.id.btn1);
MyClickListener mc1 = new MyClickListener();
// 点击事件:被点击时触发的事件
btn1.setonClickListener(mc1);
// 匿名内部类
Button btn2 = findViewById(R.id.btn2);
btn2.setonClickListener(new View.onClickListener() {
@Override
public void onClick(View view) {
Log.e("TAG", "刚刚点击的按钮是匿名内部类");
}
});
//本类实现
Button btn3 = findViewById(R.id.btn3);
btn3.setonClickListener(this);
}
@Override
public void onClick(View view) {
Log.e("TAG", "刚刚点击的是本类实现");
}
class MyClickListener implements View.onClickListener {
@Override
public void onClick(View view) {
// 控制台输出一条语句
Log.e("TAG", "刚刚点击的按钮是注册了内部类监听对象的按钮");
}
}
public void myClick(View v) {
switch (v.getId()){
case R.id.btn4:
Log.e("TAG", "刚刚点击的按钮是在xml文件中绑定的按钮1");
break;
case R.id.btn5:
Log.e("TAG", "刚刚点击的按钮是在xml文件中绑定的按钮2");
break;
}
}
}
六、ImageView 图片
用来显示和控制图像的控件,可以对它进行放大,缩小,旋转等操作
1、常用属性- android:src 路径
- android:background 背景
进度条,默认情况下是圆形,没有刻度,只是一个不停旋转的动画效果。通过设置style, 可以显示传统的水平带刻度的进度条。
1、常用属性- style 设置风格?android:attr/progressBarStyleHorizontal 水平进度条
- android:progress="" 设置进度
- android:max="" 设置最大值 默认100
- android:indeterminate="true" 设置进度条滚动
package com.example.testapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ProgressBar;
public class ProgressBarActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_progress_bar);
final ProgressBar progressBar = findViewById(R.id.progress);
// 在Android中,4.0以后是不能直接在线程中操作控件的
// 进度条是个特里
new Thread() {
@Override
public void run() {
for (int i = 1; i < 100; i++) {
progressBar.setProgress(i);
try {
Thread.sleep(30);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}.start();
}
}
坐得住板凳,耐得住寂寞,守得住初心!



