第三章 基本控件
1.TextView
1.1
android:layout_width ,android:layout_height 用于控制宽度,高度。具有3个属性match_parent, wrap_content , fill_parent 其中match_parent和fill_parent一样,不过更推荐使用match_parent。它们表示空间大小和父布局大小一样。wrap_content表示让当前空间的大小刚好包含住里面的内容,也就是由控件内容决定当前空间大小。
1.2
可以使用android:gravity来控制对齐方式。
可以使用android:textSize来控制字体大小。 推荐使用sp为单位
2.Button
2.1
由于系统会对button所有英文字母自动进行大写转换,如果需要关闭,则需要禁用这一默认特性:
android:textAllCaps="false"
2.2点击事件
Button btn = findViewById(R.id.btn_1); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {
事件代码 } });
3.EditText
3.1
用于增加提示文本
android:hint="Input something here"
用于限定最大行数
android:maxLines="1"
4.ImageView
4.1
图片一般是放在以”drawable”开头的目录
通过点击按钮 来修改照片
startNormal.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ImageView imageView = findViewById(R.id.imageView); imageView.setImageResource(R.drawable.test);//修改照片 } });
android:scaleType用于设置显示的图片如何缩放或者移动以适应ImageView的大小 Java代码中可以通过imageView.setScaleType(ImageView.ScaleType.CENTER);来设置~ 可选值如下:
fitXY:对图像的横向与纵向进行独立缩放,使得该图片完全适应ImageView,但是图片的横纵比可能会发生改变
fitStart:保持纵横比缩放图片,知道较长的边与Image的编程相等,缩放完成后将图片放在ImageView的左上角
fitCenter:同上,缩放后放于中间;
fitEnd:同上,缩放后放于右下角;
center:保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。
centerCrop:保持横纵比缩放图片,知道完全覆盖ImageView,可能会出现图片的显示不完全
centerInside:保持横纵比缩放图片,直到ImageView能够完全地显示图片
matrix:默认值,不改变原图的大小,从ImageView的左上角开始绘制原图, 原图超过ImageView的部分作裁剪处理
【这是网上复制过来的! 之前看视频有讲解过这个属性,但是书上没讲解到,因此直接加进来了】
5.ProgressBar
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
所有的控件都具有可见属性。可以通过android:visibility 来控制。有3个值:visible、invisiblegone。visible是默认值 表示为可见。invisible表示不可见,但是仍占据原来的位置和大小。而gone同样表示不可见,但是不占据控件大小。
我们可以通过setVisibility()方法来控制,让进度条消失
ButtonchangeProgressBar = findViewById(R.id.btn_3);
final ProgressBarprogressBar = findViewById(R.id.progress_bar);
changeProgressBar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(progressBar.getVisibility() == View.GONE){
progressBar.setVisibility(View.VISIBLE);
}else{
progressBar.setVisibility(View.GONE);
}
}
});
水平样式
style="?android:attr/progressBarStyleHorizontal"
还有很多样式。可以查找API文档进行学习!!!
6..AlertDialog
![](https://i-blog.csdnimg.cn/blog_migrate/c869134ff02c3b4dfe1d00be81d9e9ec.png)
【无视其他组件~ 】
代码:
Button testDialog =findViewById(R.id.btn_3);
testDialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builderdialog = new AlertDialog.Builder(MainActivity.this);
dialog.setTitle("This is a dialog"); //设置标题
dialog.setMessage("Something important"); //设置信息
dialog.setCancelable(true);
/*
dialog.setCancelable(false);
dialog弹出后会点击屏幕或物理返回键,dialog不消失
*/
//增加点击事件 默认点击就会消失的了
dialog.setPositiveButton("OK",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int which){
}
});
dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterfacedialogInterface, int i) {
}
});
dialog.show(); //显示对话框
}
});
7.ProgressDialog
用法与AlertDialog是一样的。。。 不过显示已经过时了。
Button testDialog =findViewById(R.id.btn_3);
testDialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setTitle("This is a ProgreeDialog");
progressDialog.setMessage("Loading.....");
progressDialog.setCancelable(true);
progressDialog.show();
}
})
总结:书上还有一些属性是没有讲到的。要学会阅读API文档,会查阅相关资料来了解一些用法,比如菜鸟教程的Android基础入门教程挺好的。