一个带时间的相册页面(仿小米相册)

一个带时间的相册页面,真小米手机仿小米相册



这个我研究了两天,真要命,昨晚搞出来的。在这里我们用了以下gradle:

compile 'com.android.support:cardview-v7:24.0.0'
compile 'com.android.support:recyclerview-v7:24.2.1'

compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.truizlop.sectionedrecyclerview:library:1.0.0'
 
第一个是卡片,点了有水波效果,
第 2个是你们懂得看名字就知道,
第3个是安卓官方推荐的处理图片的框架,
第4个是一个带头部分组栏的适配器.

首先你们看到的布局,我们来写:
主布局
 
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    tools:context="com.bbg.textalbum.MainActivity">


<android.support.v7.widget.RecyclerView
    android:layout_width="match_parent"
    android:id="@+id/RV"
    android:layout_height="match_parent">

</android.support.v7.widget.RecyclerView>
</RelativeLayout>
时间的item:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="wrap_content"
    android:layout_height="wrap_content">
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="10dp"
    android:id="@+id/headTV"
    android:text="159.8.5"
    android:gravity="center"/>
</LinearLayout>
然后是中间imgview:
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
好的,下面是一个简单的相册页面的制作过程: 1. 创建一个新的Android Studio项目。 2. 在res/layout目录下创建一个新的布局文件,例如album.xml,用于显示相册页面。 3. 在布局文件中添加一个RecyclerView,用于显示相册照片列表。同时,在RecyclerView中添加一个LinearLayoutManager,用于控制照片列表的布局方式。 4. 创建一个照片数据模型类,例如Photo。 5. 创建一个适配器类,例如PhotoAdapter,用于将照片数据绑定到RecyclerView上。 6. 在Activity或Fragment中获取照片数据,并将其传递给PhotoAdapter。 7. 将PhotoAdapter设置为RecyclerView的适配器。 8. 运行应用程序,查看相册页面。 下面是一个示例的相册页面布局文件album.xml: ```xml <androidx.recyclerview.widget.RecyclerView android:id="@+id/photo_list" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"/> ``` 下面是一个示例的Photo数据模型类: ```java public class Photo { private int id; private String title; private String url; public Photo(int id, String title, String url) { this.id = id; this.title = title; this.url = url; } public int getId() { return id; } public String getTitle() { return title; } public String getUrl() { return url; } } ``` 下面是一个示例的PhotoAdapter适配器类: ```java public class PhotoAdapter extends RecyclerView.Adapter<PhotoAdapter.ViewHolder> { private List<Photo> photoList; public PhotoAdapter(List<Photo> photoList) { this.photoList = photoList; } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_photo, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { holder.title.setText(photoList.get(position).getTitle()); Glide.with(holder.itemView.getContext()).load(photoList.get(position).getUrl()).into(holder.image); } @Override public int getItemCount() { return photoList.size(); } static class ViewHolder extends RecyclerView.ViewHolder { ImageView image; TextView title; ViewHolder(@NonNull View itemView) { super(itemView); image = itemView.findViewById(R.id.photo_image); title = itemView.findViewById(R.id.photo_title); } } } ``` 其中,item_photo.xml是用于显示单个照片的布局文件。在这个布局文件中,可以添加ImageView和TextView等控件用于显示照片和照片标题。 最后,在Activity或Fragment中,可以按照以下方式使用PhotoAdapter: ```java List<Photo> photoList = new ArrayList<>(); // 添加照片数据到photoList中 PhotoAdapter adapter = new PhotoAdapter(photoList); RecyclerView recyclerView = findViewById(R.id.photo_list); recyclerView.setAdapter(adapter); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值