Android入门基础之View视图
昨天,我们一起学习了Android的五大布局,今天我们要来看一下View视图
View的子类: TextView用于展示文本的视图
现在 我们来了解一下TextView的属性:
android:text="设置文本内容"
android:textStyle="italic(倾斜)|bold(加粗)|normal(普通)"设置文本的字体
android:textColor=""设置文本字体颜色
android:textSize=""设置文本字体大小(注意:文本大小的单位是sp)
android:singleLine = "true|false" 设置文本单行展示
android:lines = "" 表示当前展示的行数,如果当时展示的行数大于设置的数字,则超出的部分不显示,如果当时展示的行数小于设置的行数,展示高度
android:ems="",设置一行能展示的字符数是多少,超出则换行
android:maxLines = "" ,设置当前视图最大行数,如果内容超出则不显示,如果内容不够,则包裹行数
例如:
<TextView android:background="@color/colorPrimary" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="设置当前视图最大行数,如果内容超出则不显示,如果内容不够,则包裹行数" android:ems="3" android:maxLines="20" />
下面是效果图:
android:maxWidth=""单位是dp,表示最大宽度
android:minWidth=""单位是dp,表示最小宽度
android:ellipsizs="start(开始)|end(结束)|middle(中间)" 一行的文本超出时,超出的文本在哪里显示...... 主要是配合singleLine使用
EditText:文本输入框
EditText是TextView的子类,所以TextView的属性EditText都有
下面为大家介绍一下EditText特有的属性:
android:hint="请输入内容" 当显示的内容为空的时候,则提示这句话
android:inputType="" 修改输入键盘类型以及展示效果
phone:只能输入数字类型
text:什么都可以输入
textPassword:加密的文本,就像输入密码一样,输入后的内容则会变成 ···
email:邮箱类型
address:地址类型
.......
Button:按钮
Button也是TextView的子类,所以TextView有的属性Button都有
如何设置点击事件呢?
一共有五种方式设置点击事件:
第一种(匿名内部类):
private Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_day5); btn1 = findViewById(R.id.btn1); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.i("flag","你点了我"); } }); }
第二种(内部实现接口):
private Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_day5); btn1 = findViewById(R.id.btn1); btn1.setOnClickListener(new MyLinstenter()); } class MyLinstenter implements View.OnClickListener { @Override public void onClick(View v) { btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.i("flag", "你点了我哦!"); } }); } }
第三种(外部类实现接口):
private Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_day5); btn1 = findViewById(R.id.btn1); btn1.setOnClickListener(new MyLinstenter(btn1)); } } class MyLinstenter implements View.OnClickListener { private Button btn1; public MyLinstenter(Button btn1) { this.btn1 = btn1; } @Override public void onClick(View v) { btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.i("flag", "你点了我哦!"); } }); }
第四种(使用本类对象实现接口):
public class day5 extends AppCompatActivity implements View.OnClickListener{ private Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_day5); btn1 = findViewById(R.id.btn1); btn1.setOnClickListener(this); } @Override public void onClick(View v) { Log.i("flag", "你点了我哦!"); } }
ImageView:展示图片的视图
android:src="" 设置图片的路径
android:scaleType=""设置图面的显示模式
matrix:不缩放图片,用图片矩阵从左上角开始绘制
fitCenter(默认值):把图片放置到ImageView的中心,然后按相同比例放大或缩小,知道图片的宽度或高度等于ImageView的宽度或高度
fitXY:不保持图片的宽高比例,执行方法或缩小,指导图片款的等于ImageView宽度,同时高度等于ImageView高度
fitStart:把图片放置到ImageView的左上角,然后按相同比例放大或缩小,知道图片宽度等于或高度等于ImageView高度
fitEnd:把图片放置到ImageView的右下角,然后按相同比例放大或缩小,知道图片宽度等于或高度等于ImageView高度
centerCrop:把图片放置到ImageView的中心,执行缩放,将图片的 宽度和高度大于或者等于ImageView的宽度,同时图片的高度大于或等于ImageView的高度
centerlnside:把图片放置到ImageView的中心,如果图片的尺寸小于ImageView的尺寸,不缩放,否则,将图片的宽度和高度按照相同的比例缩放,知道图片的宽度小于ImageView的宽度,同时图片的高度也小于ImageView的高度