android模拟小相册
效果图:
目录结构,将图片存放在drawable文件夹,且修改名称:
布局代码activity_main.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:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<ImageView
android:id="@+id/iv_show"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_weight="1"
android:background="@android:color/background_dark"/>
<TextView
android:id="@+id/tv_show"
android:gravity="center"
android:padding="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="图片信息"/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上一张"
android:id="@+id/btn_previous"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一张"
android:id="@+id/btn_next"/>
</LinearLayout>
</LinearLayout>
MainActivity.java文件代码:
package com.example.layout02album;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private ImageView mImage;
private TextView mText;
private int num;
private int index;
private int[] images;
private String[] title;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
initView();
//初始化数据
initData();
}
private void initData() {
title = new String[]{"第1张图片", "第2张图片", "第3张图片", "第4张图片", "第5张图片", "第6张图片"};
images = new int[]{R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d, R.drawable.e, R.drawable.f};
mImage.setImageResource(images[0]);
mText.setText(title[0]);
//图片张数
num = title.length;
//当前显示图片索引
index = 0;
}
private void initView() {
mImage = findViewById(R.id.iv_show);
mText = findViewById(R.id.tv_show);
findViewById(R.id.btn_previous).setOnClickListener(this);
findViewById(R.id.btn_next).setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_previous:
//上一张
if (index == 0) {
index = num - 1;
} else {
index--;
}
break;
case R.id.btn_next:
//下一张
if (index == num - 1) {
index = 0;
} else {
index++;
}
break;
}
updateImageAndTitle();
}
private void updateImageAndTitle() {
mImage.setImageResource(images[index]);
mText.setText(title[index]);
}
}