5.3下午打卡


按照上午的计划,今天下午是软考和安卓。

首先学的Android的button,首先button分为三层,从看的顺序依次为前景色,文字,背景色。所以一旦设置了前景色,所设置的文字和背景都会被覆盖。
另外是background设置背景和背景色,可以导入图片作为背景,导入的话,一般是在drawable下new一个drawable resource file,还要在drawable下导入vector asset图片(或者外部导入)。背景色要在res文件夹下新建一个文件夹,再new一个color resource file设置背景色。背景设置的时候有一个state_pressed状态,其为true时为按下的状态。Button继承了TextView,所以大同小异。
代码如下

<?xml version="1.0" encoding="utf-8"?>


    

然后是button的事件处理,分别为点击事件,长按事件,触摸事件。这两节button课我学了一个小时不止,我觉得适度放弃是一种明智的选择。所以最后的各种方法就没深究,等学到了再深究。主要是给button设上id,然后再在java里添加方法。触摸setOnTouchListener,长按setOnLongClickListener,点击setOnClickListener。另外这几个应该是按我写的顺序覆盖的,即触摸返回true,剩下的俩就不执行了。另外还有button里写onClick,然后自己创建方法。这个没写完,因为实在是迷糊。就这样吧,也还可以。

代码如下

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "fole";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //TextView tv_one = findViewById(R.id.tv_one);
        //tv_one.setText("xiaoxue");

        Button btn = findViewById(R.id.btn);

        //点击事件
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.e(TAG, "onClick: ");
            }
        });

        //长按事件
        btn.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                Log.e(TAG, "onLongClick: ");
                return false;
            }
        });

        //触摸事件
        btn.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                Log.e(TAG, "onTouch: " + motionEvent6.getAction());
                return false;
            }
        });
    }

    public void xueClick(View view) {
    }
}

计划是学习四个控件,所以下一个学习的是EditText。首先,现在我明白了我不会的那个是输出语句,现在照猫画虎马马虎虎吧,还有个是button事件的方法有点蒙。具体等code时再看。然后是EditText控件。hint提示输入,android:drawablePadding,提示输入文字与图距离,android:paddingLeft整体距离,android:drawableLeft提示输入图片,android:textColorHint提示输入文字颜色,android:inputType输入类型

代码如下
activity_main

<?xml version="1.0" encoding="utf-8"?>


    



    

    

java

package com.example.myapplication1;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    private EditText et;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //TextView tv_one = findViewById(R.id.tv_one);
        //tv_one.setText("xiaoxue");

        Button btn = findViewById(R.id.btn);
        et = findViewById(R.id.et);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String text = et.getText().toString();
                Log.e("leo", "输入的内容: "+ text);
            }
        });
    }
}

最后学习了ImageView,因为太饿了,没学完就先吃饭了。晚上再写上吧。

另外实在是没想到Android学起来这么慢,照这个进度,软考根本学不了啊!晚上再补软考,数据库那不直接寄了?哎,可哪一个也省不了,再减少点摸鱼时间吧。

相关