我是android新手,正在制作需要各种HorizontalRecyclerView的应用程序。我需要将以上内容与Firebase存储集成。 我遵循了一个帮助我实现HorizontalRecyclerView的教程,但是我需要从Firebase存储中获取图像。我希望该应用使用Firebase存储下载图像,然后显示它。我手动将图像上传到Firebase存储。
HomeActivity中的recyclerview
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</androidx.recyclerview.widget.RecyclerView>
listitem.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_margin="1dp">
<androidx.cardview.widget.CardView
android:layout_width="120dp"
android:layout_height="120dp"
app:cardCornerRadius="4dp"
app:cardMaxElevation="2dp"
app:cardElevation="1dp"
android:layout_centerInParent="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<de.hdodenhof.circleimageview.CircleImageView
android:layout_width="90dp"
android:layout_height="90dp"
android:scaleType="centerCrop"
android:layout_centerHorizontal="true"
android:id="@+id/image_view"
android:src="@drawable/ic_launcher_background"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="20dp"
android:text="Canada"
android:layout_below="@+id/image_view"
android:id="@+id/name"
android:layout_centerHorizontal="true"
android:gravity="center"
android:layout_marginTop="5dp"
android:textColor="#000"
android:layout_marginBottom="5dp"
android:autoSizeTextType="uniform"
android:autoSizeMinTextSize="8sp"
android:autoSizeMaxTextSize="15sp"/>
</RelativeLayout>
</androidx.cardview.widget.CardView>>
</RelativeLayout>
使用的方法
private void getImages(){
Log.d(TAG, "initImageBitmaps: preparing bitmaps.");
mImageUrls.add("https://images-na.ssl-images-
amazon.com/images/I/61s3uG2iFkL._SX466_.jpg");
mNames.add("Havasu Falls");
mImageUrls.add("https://i.redd.it/tpsnoz5bzo501.jpg");
mNames.add("Trondheim");
mImageUrls.add("https://i.redd.it/qn7f9oqu7o501.jpg");
mNames.add("Portugal");
mImageUrls.add("https://i.redd.it/j6myfqglup501.jpg");
mNames.add("Rocky Mountain National Park");
mImageUrls.add("https://i.redd.it/0h2gm1ix6p501.jpg");
mNames.add("Mahahual");
mImageUrls.add("https://i.redd.it/k98uzl68eh501.jpg");
mNames.add("Frozen Lake");
mImageUrls.add("https://i.redd.it/glin0nwndo501.jpg");
mNames.add("White Sands Desert");
mImageUrls.add("https://i.redd.it/obx4zydshg601.jpg");
mNames.add("Austrailia");
mImageUrls.add("https://i.imgur.com/ZcLLrkY.jpg");
mNames.add("Washington");
initRecyclerView();
}
private void initRecyclerView(){
Log.d(TAG, "initRecyclerView: init recyclerview");
LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
RecyclerView recyclerView = findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(layoutManager);
RecyclerViewAdapter adapter = new RecyclerViewAdapter(this, mNames, mImageUrls);
recyclerView.setAdapter(adapter);
}
enter code here
那么,我应该如何处理呢?
答案 0 :(得分:0)
首先,获取图像的参考,并使用该参考下载图像,然后创建一个适配器对象,该对象将图像的本地路径传递到CircleImageView。