今天学习的是
ImageView 和 ImageButton
这两个控件还是比较简单的:先来看看最后的样式图片吧:

从图片中可以看到ImageView中的图片要大很多,这是因为中的ImageView中的图片跟ImageView控件的大小而自动调整。
ImageButton中的图片却小很多,因为这里面的图片没有跟随父容器的大小而做出调整,只是展示最原始的大小。
这两个控件中还有两个属性要理解了:
第一个就是 android:src="@mipmap/wether" 这其中的src 是前景的意思 @的意思是:在...里面 整句代码的意思就是 前景是在mipmap文件夹中的wether文件 这样就显示了wenther这个图片
这个图片缩放的位置是:
我的Android Studio安装在了E盘的Android文件夹里面了,所以我的图片资源都放在这个目录下:
E:\Android\release\code\app\src\main\res\mipmap-hdpi

好了今天的布局代码是:
XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ButtonActivity"
android:orientation="vertical"
android:gravity="center_horizontal">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10sp"
android:text="按钮1"
android:id="@+id/btn1"
android:textSize="36sp"
android:textColor="#FF0000"
android:onClick="myclick"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10sp"
android:text="按钮2"
android:id="@+id/btn2"
android:textSize="36sp"
android:textColor="#FF0000"
android:onClick="myclick"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10sp"
android:text="按钮3"
android:id="@+id/btn3"
android:textSize="36sp"
android:textColor="#FF0000"
android:onClick="myclick"/>
<TextView
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="36sp"
android:textColor="#FF0000"
android:layout_margin="30sp"
android:background="#00FFFF"/>
<ImageView
android:layout_width="200dp"
android:layout_height="120dp"
android:src="@mipmap/wether"
android:tooltipText="天气图片"
android:background="#00F0FF"/>
<ImageButton
android:layout_width="200dp"
android:layout_height="120dp"
android:src="@mipmap/wether"
android:background="#ff00ff"/>
</LinearLayout>
今天的ButtonActivity的文件内容是:
java
package com.example.android1;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class ButtonActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_button);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
}
public void myclick(View a){
int id = a.getId();
TextView text = findViewById(R.id.text1);
if(id == R.id.btn1){
Log.e("tag","按钮1被点击了");
text.setText("按钮1被点击了");
}
else if(id == R.id.btn2){
Log.e("tag","按钮2被点击了");
text.setText("按钮2被点击了");
}
else if(id == R.id.btn3){
Log.e("tag","按钮3被点击了");
text.setText("按钮3被点击了");
}
}
}