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学起来这么慢,照这个进度,软考根本学不了啊!晚上再补软考,数据库那不直接寄了?哎,可哪一个也省不了,再减少点摸鱼时间吧。