安卓开发学习日记
通用
id 设置组件id
background 设置背景颜色
TextView(文本)
text 文字内容
textColor 文字颜色
textSize 文字大小(sp)
gravity 控件内容的对齐方向,水平居中,垂直居中,居中...
shadowColor 阴影颜色
shadowRadius 阴影模糊程度
shadowDx 水平方向的偏移度
shadowDy 垂直方向的偏移度
Button(按钮事件)
MainActivity.java 触发后调用回调方法。0
//onClickListener 点击事件
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onClickPrint();
}
});
//onLongClickListener 长按事件
btn.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
onLongClickPrint();
return false;
}
});
//onTouchListener 触摸事件
btn.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
onTouchPrint();
return false;
}
});
EditTest(输入框)

hint 输入提示
textColorHint 输入提示文字的颜色
inputType 输入类型
drawableXxxx 在输入提示的指定方位添加图片 (图片放在drawable目录)
drawablePadding 设置图片与输入内容的间距
paddingXxxx 设置边框与内容之间的间距
ImageView(图像)
src 图片目录
scaleType 图片缩放类型
maxHeight 最大高度
maxWidth 最大宽度
adjustViewBounds 调整View的界限
scaleType参数
fitStart 保持宽高比缩放图片,直到较长的边鱼Image的边长相等,缩放完成后将图片放在ImageView的左上角
fitCenter 默认值,同上,缩放后放于中间
fitEnd 同上,缩放后放于右下角
fitXY 让图像强行铺满容器
center 保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。
centerCrop 保持宽高比缩放图片,直到完全覆盖ImageView,可能会出现图片的显示不完全
centerInside 保持宽高比缩放图片,直到ImageVIew能够完全地显示图片
matrix 不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理
ProgressBar(进度条)
max 进度条的最大值
progress 进度条已完成进度值
indeterminate 进度条不精确显示进度,一直转
style="?android:attr/progressBarStyleHorizontal" 水平进度条
ProgressBar小练习
进度条的显示与隐藏
private ProgressBar pb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pb = findViewById(R.id.pb);
}
public void hide(View v){
/*
VISIBLE 控件可视
INVISIBLE 控件隐藏,但依旧占位
GONE 控件隐藏,不占位
*/
if (pb.getVisibility() == View.GONE || pb.getVisibility() == View.INVISIBLE){
pb.setVisibility(View.VISIBLE);
} else {
pb.setVisibility(View.INVISIBLE);
}
}
<ProgressBar
android:id="@+id/pb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="hide"
android:text="显示/隐藏"
/>
水平进度条增加
private ProgressBar pb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pb = findViewById(R.id.pb);
}
public void add(View v){
int progress = pb.getProgress();
progress += 10;
pb2.setProgress(progress);
}
<ProgressBar
android:id="@+id/pb"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:max="100"
style="?android:attr/progressBarStyleHorizontal"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="add"
android:text="增加"
/>
Notification(消息通知)
public class MainActivity extends AppCompatActivity {
// x
private NotificationManager manager;
private Notification notification;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// 判断安卓版本是否高于8.0
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
/*
NotificationChannel 构造参数
id -> 要与NotificationCompat中builder构造器中的id相同
name -> 通知标题
importance -> 通知的重要程度
参数:
IMPORTANCE_NONE 关闭通知
IMPORTANCE_MIN 开启通知,不会弹出,但没有提示音,状态栏中无显示
IMPORTANCE_LOW 开启通知,不会弹出,不发出提示音,状态栏中显示
IMPORTANCE_DEFAULT 开启通知,不会弹出,发出提示音,状态栏中显示
IMPORTANCE_HIGH 开启通知,会弹出,发出提示音,状态栏中显示
*/
NotificationChannel channel =
new NotificationChannel("LT", "测试通知",
NotificationManager.IMPORTANCE_HIGH);
manager.createNotificationChannel(channel);
}
Intent intent = new Intent(this, NotificationActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
notification = new NotificationCompat.Builder(this, "LT")
.setContentTitle("通知") // 设置标题
.setContentText("这是一个通知") // 设置文本内容
.setSmallIcon(R.drawable.ic_baseline_assignment_ind_24) // 设置小图标
.setColor(Color.parseColor("#ff0000")) // 设置小图标的颜色
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.abc)) // 设置大图标
.setContentIntent(pendingIntent)
.setAutoCancel(true) // 设置点击通知后自动清楚通知
.build();
}
public void send(View view){
manager.notify(1, notification);
}
public void cancel(View view){
manager.cancel(1);
}
}

浙公网安备 33010602011771号