学习中遇到的一些基本控件的使用
一.TextView.
1.layout_width:组件的宽度
2.layout_height:组件的高度
3.id:设置组件id
4.text:设置文本内容
5.textColor:设置字体颜色
6.textSize:设置字体大小
7.textStyle:设置字体风格,三个可选值:normal(无效果),bold(加粗),italic(斜体)
8.background:设置控件背景颜色,可以是图片
9.gravity:设置控件文字或者图片的对齐方向
10.shadowColor:设置阴影颜色,与shadowRadius一起使用
11.shadowRadius:设置阴影模糊程度,一般使用3.0
12.shadowDx:设置阴影在水平方向的偏移
13.shadowDy:设置阴影在垂直方向的偏移
14.singleLine:内容是否单行显示
15.ellipsize:从哪里省略文本
16.marqueeRepeatLimit:字母动画重复次数
17.focusable:是否可以获取焦点
18.focusableInTouchMode:是否聚焦
代码:
<TextView
android:id="@+id/first"
android:onClick="HelloOnclick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:textSize="24sp"
android:textColor="#FF000000"
android:gravity="center"
android:background="#FFFFFFFF"
android:shadowColor="@color/black"
android:shadowRadius="3.0"
android:shadowDx="10.0"
android:shadowDy="8.0"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:focusable="true"
android:focusableInTouchMode="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
二.Button事件处理
按钮代码:
<Button
android:id="@+id/button01"
android:layout_width="200dp"
android:layout_height="100dp"
app:layout_constraintBottom_toBottomOf="@+id/first"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="MissingConstraints,SpeakableTextPresentCheck">
</Button>
事件处理代码:
TextView first = findViewById(R.id.first);
TextView first = findViewById(R.id.button01);
//点击事件
first.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//填写要进行的事件
}
});
//长按事件
first.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
//填写要进行的事件
return false;
}
});
//触摸事件
first.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
//填写要进行的事件
return false;
}
});
三.EditText
1.hint:输入提示
2.inputType:输入类型
3.drawable***:在输入指定方位输入图片
4.drawablePadding:设置图片与输入内容的间距
5.padding***:设置内容与边框的间距
代码:
<EditText
android:id="@+id/editText02"
android:layout_width="300dp"
android:layout_height="100dp"
android:drawableLeft="@drawable/ic_launcher_number"//可删,图片在左边,
// ic_launcher_number(图片的名字)
android:drawablePadding="1dp"
android:padding="0dp"
android:hint="请输入密码"
android:inputType="numberPassword"
/>
四.ImageView
1.src:设置图片资源
2.scaleType:设置图片缩放类型
一般类型有:fitCenter:默认值,保持宽高比缩放图片,直到较长的边与view的边相等,位于正中
fitStart:保持宽高比缩放图片,直到较长的边与view的边相等,位于左上角
fitend:保持宽高比缩放图片,直到较长的边与view的边相等,位于右下角
center:保持原图大小,显示在view的中心,图片超出部分不显示
centerCrop:保持宽高比缩放图片,直至完全覆盖view,可能会出现图片显示不完全
centerInside:保持宽高比缩放图片,直至view能够完全显示图片
3.maxHeight:设置图片最大高度
4.maxWidth:设置图片最大宽度
5.adjustViewBounds:调整view的界限,一般与3,4联合使用
<ImageView
android:src="@drawable/ic_launcher_number"
android:scaleType="fitcenter"
android:layout_width="200dp"
android:layout_height="100dp"
android:maxHeight="200dp"
android:maxWidth="100dp"
android:adjustViewBounds="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/first">
</ImageView>
五.ProgressBar
1.style="?android:attr/progressBarStyleHorizontal":设置水平进度条
2.max:设置进度条最大值
3.indeterminate:设置为true时,进度条不显示精度
4.progress:进度条已完成进度值
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:max="100"
android:indeterminate="true"
android:layout_width="200dp"
android:layout_height="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/first" />
六.Toolbar
<androidx.appcompat.widget.Toolbar
android:id="@+id/cx"
android:background="#ffff00"
<!--navigationIcon设置图标-->
app:navigationIcon="@drawable/ic_launcher_foreground"
<!--app:title设置主标题-->
app:title="Hello World"
<!--app:subtitle设置子标题-->
app:subtitle="study"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
tools:ignore="InvalidId,MissingConstraints">
</androidx.appcompat.widget.Toolbar>
七.AlertDialog
按钮代码:
<Button
android:onClick="HelloOnclick"
android:layout_width="100dp"
android:layout_height="100dp">
</Button>
AlertDialog使用:
public void HelloOnclick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);//构建参数
builder.setIcon(R.mipmap.ic_launcher)//设置图标
.setTitle("你好啊")//设置标题
.setMessage("不能点击哦")//添加消息
//设置确定按钮
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
//设置取消按钮
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
})
.create()//创建Dialog
.show();//显示对话框
}
八.PopupWindow
按钮代码:
<Button
android:text="弹出PopupWindow"
<!--在方法里进行设置 -->
android:onClick="popupOnclick"
android:layout_width="100dp"
android:layout_height="100dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/first">
</Button>
方法代码:
public void popupOnclick(View view) {
//得到popupView,!!要创建popuplayout
View popupView = getLayoutInflater().inflate(R.layout.popuplayout, null);
//创建popupWindow,
PopupWindow popupWindow = new PopupWindow(popupView,
ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT,true);
//相对于某个控件下方,可设置偏移
popupWindow.showAsDropDown(view);
}
创建popuplayout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical">
<Button
android:id="@+id/buttonPanel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第一"
android:textSize="20dp"
>
</Button>
<Button
android:id="@+id/buttonPanel01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第二"
android:textSize="20dp"
tools:ignore="DuplicateIds">
</Button>
</LinearLayout>