统一各界面的图片默认背景
- 主界面相册集预览封面使用背景设置 - 相册浏览界面图片预览使用背景设置 - 返回界面时自动刷新背景设置
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Sat Apr 25 19:42:01 CST 2026
|
#Sat Apr 25 19:56:18 CST 2026
|
||||||
stageCount=3
|
stageCount=3
|
||||||
libraryProject=
|
libraryProject=
|
||||||
baseVersion=15.0
|
baseVersion=15.0
|
||||||
publishVersion=15.0.2
|
publishVersion=15.0.2
|
||||||
buildCount=8
|
buildCount=10
|
||||||
baseBetaVersion=15.0.3
|
baseBetaVersion=15.0.3
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ public class AlbumActivity extends AppCompatActivity {
|
|||||||
recyclerView = findViewById(R.id.recycler_view);
|
recyclerView = findViewById(R.id.recycler_view);
|
||||||
recyclerView.setLayoutManager(new GridLayoutManager(this, 3));
|
recyclerView.setLayoutManager(new GridLayoutManager(this, 3));
|
||||||
adapter = new ImageAdapter();
|
adapter = new ImageAdapter();
|
||||||
|
adapter.setContext(this);
|
||||||
recyclerView.setAdapter(adapter);
|
recyclerView.setAdapter(adapter);
|
||||||
|
|
||||||
adapter.setOnImageClickListener(new OnImageClickListener() {
|
adapter.setOnImageClickListener(new OnImageClickListener() {
|
||||||
@@ -149,5 +150,8 @@ public class AlbumActivity extends AppCompatActivity {
|
|||||||
if (checkPermission()) {
|
if (checkPermission()) {
|
||||||
loadImages();
|
loadImages();
|
||||||
}
|
}
|
||||||
|
if (adapter != null) {
|
||||||
|
adapter.refreshBg();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -20,6 +20,21 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
|
|||||||
public static final String TAG = "AlbumAdapter";
|
public static final String TAG = "AlbumAdapter";
|
||||||
private ArrayList<Album> albums = new ArrayList<>();
|
private ArrayList<Album> albums = new ArrayList<>();
|
||||||
private OnAlbumClickListener listener;
|
private OnAlbumClickListener listener;
|
||||||
|
private Preferences prefs;
|
||||||
|
private int bgType = 0;
|
||||||
|
|
||||||
|
private int getBgRes() {
|
||||||
|
switch (bgType) {
|
||||||
|
case 0:
|
||||||
|
return R.drawable.bg_checkerboard;
|
||||||
|
case 1:
|
||||||
|
return R.drawable.bg_white;
|
||||||
|
case 2:
|
||||||
|
return R.drawable.bg_black;
|
||||||
|
default:
|
||||||
|
return R.drawable.bg_checkerboard;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public interface OnAlbumClickListener {
|
public interface OnAlbumClickListener {
|
||||||
void onAlbumClick(Album album);
|
void onAlbumClick(Album album);
|
||||||
@@ -34,6 +49,18 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
|
|||||||
LogUtils.d(TAG, "setData: " + albums.size() + " albums");
|
LogUtils.d(TAG, "setData: " + albums.size() + " albums");
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setContext(android.content.Context context) {
|
||||||
|
prefs = new Preferences(context);
|
||||||
|
bgType = prefs.getBgType();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void refreshBg() {
|
||||||
|
if (prefs != null) {
|
||||||
|
bgType = prefs.getBgType();
|
||||||
|
notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
@@ -48,6 +75,8 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
|
|||||||
final Album album = albums.get(position);
|
final Album album = albums.get(position);
|
||||||
LogUtils.d(TAG, "bind: " + album.getName() + ", cover=" + album.getCoverUri());
|
LogUtils.d(TAG, "bind: " + album.getName() + ", cover=" + album.getCoverUri());
|
||||||
|
|
||||||
|
holder.coverImage.setBackgroundResource(getBgRes());
|
||||||
|
|
||||||
holder.albumName.setText(album.getName());
|
holder.albumName.setText(album.getName());
|
||||||
holder.imageCount.setText(album.getImageCount() + " photos");
|
holder.imageCount.setText(album.getImageCount() + " photos");
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,21 @@ public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ViewHolder>
|
|||||||
private ArrayList<Uri> imageUrls = new ArrayList<>();
|
private ArrayList<Uri> imageUrls = new ArrayList<>();
|
||||||
private ArrayList<String> imagePaths = new ArrayList<>();
|
private ArrayList<String> imagePaths = new ArrayList<>();
|
||||||
private OnImageClickListener listener;
|
private OnImageClickListener listener;
|
||||||
|
private int bgType = 0;
|
||||||
|
private Preferences prefs;
|
||||||
|
|
||||||
|
private int getBgRes() {
|
||||||
|
switch (bgType) {
|
||||||
|
case 0:
|
||||||
|
return R.drawable.bg_checkerboard;
|
||||||
|
case 1:
|
||||||
|
return R.drawable.bg_white;
|
||||||
|
case 2:
|
||||||
|
return R.drawable.bg_black;
|
||||||
|
default:
|
||||||
|
return R.drawable.bg_checkerboard;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public interface OnImageClickListener {
|
public interface OnImageClickListener {
|
||||||
void onImageClick(int position, ArrayList<Uri> urls, ArrayList<String> paths);
|
void onImageClick(int position, ArrayList<Uri> urls, ArrayList<String> paths);
|
||||||
@@ -33,6 +48,18 @@ public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ViewHolder>
|
|||||||
LogUtils.d(TAG, "setData: " + urls.size() + " images");
|
LogUtils.d(TAG, "setData: " + urls.size() + " images");
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setContext(android.content.Context context) {
|
||||||
|
prefs = new Preferences(context);
|
||||||
|
bgType = prefs.getBgType();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void refreshBg() {
|
||||||
|
if (prefs != null) {
|
||||||
|
bgType = prefs.getBgType();
|
||||||
|
notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
@@ -44,6 +71,8 @@ public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ViewHolder>
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {
|
public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {
|
||||||
|
holder.imageView.setBackgroundResource(getBgRes());
|
||||||
|
|
||||||
Glide.with(holder.imageView.getContext())
|
Glide.with(holder.imageView.getContext())
|
||||||
.load(imageUrls.get(position))
|
.load(imageUrls.get(position))
|
||||||
.centerCrop()
|
.centerCrop()
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ public class MainActivity extends AppCompatActivity {
|
|||||||
recyclerView = findViewById(R.id.recycler_view);
|
recyclerView = findViewById(R.id.recycler_view);
|
||||||
recyclerView.setLayoutManager(new GridLayoutManager(this, 2));
|
recyclerView.setLayoutManager(new GridLayoutManager(this, 2));
|
||||||
adapter = new AlbumAdapter();
|
adapter = new AlbumAdapter();
|
||||||
|
adapter.setContext(this);
|
||||||
recyclerView.setAdapter(adapter);
|
recyclerView.setAdapter(adapter);
|
||||||
|
|
||||||
adapter.setOnAlbumClickListener(new OnAlbumClickListener() {
|
adapter.setOnAlbumClickListener(new OnAlbumClickListener() {
|
||||||
@@ -244,6 +245,9 @@ public class MainActivity extends AppCompatActivity {
|
|||||||
scanMediaStore();
|
scanMediaStore();
|
||||||
loadAlbums();
|
loadAlbums();
|
||||||
}
|
}
|
||||||
|
if (adapter != null) {
|
||||||
|
adapter.refreshBg();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void scanMediaStore() {
|
private void scanMediaStore() {
|
||||||
|
|||||||
Reference in New Issue
Block a user