安卓开发学习日记

通用

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(输入框)

image-20211011173433326

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);
    }
}
posted @ 2026-02-13 13:26  Lang-  阅读(11)  评论(0)    收藏  举报