如何使用滑动动态加载图像(Android)



在我的安卓应用程序中,我从http请求中提取数据。

在我的布局中,我想使用 Glide 库动态显示图像。

我得到了图像网址,但我找不到在我的布局中显示它们的方法。

在我的布局文件中,我有:

   <LinearLayout
    android:id="@+id/social_media_layout"
    android:layout_width="match_parent"
    android:orientation="horizontal"
    android:layout_height="60dp"
    android:gravity="center_vertical">
  </LinearLayout>

不知何故,我想在我的线性布局中添加图像视图(动态(。

例如:如果我从请求中获得 2 个图像 URL,我的线性布局中需要两个图像视图。

注意:我想使用Glide库加载图像。

任何想法都会很奇怪。

谢谢。

你可以

item_social_media.xml创建一个新的XML文件

例如

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="60dp" >
    <ImageView 
        android:id="@+id/social_media_icon" 
        />
        <!-- More customization as needed -->
</RelativeLayout>

你可以给它充气并添加到LinearLayout中。

final Context context = MainActivity.this; // TODO: Get a context
// Inflate and update the view
View socialMediaItem = LayoutInflater.from(context).inflate(R.layout.item_social_media);
ImageView icon = (ImageView) socialMediaItem.findViewById(R.id.social_media_icon);
// TODO: Glide ... into(icon);
// Add to the LinearLayout
linearLayout.addView(socialMediaItem);

您应该最好使用 ListView 或 RecycleView 。但是,如果您坚持将它们动态添加到LinearLayout中,那么:

LinearLayout layout = (LinearLayout)findViewById(R.id.social_media_layout);
// assuming that image_urls_list contains the images urls
for(int i=0;i<image_urls_list.size();i++)
{
    ImageView image = new ImageView(this);
    // set whatever width and height you want to give
    image.setLayoutParams(new android.view.ViewGroup.LayoutParams(100,100));
    // load image using Glide
     Glide.with(context).load(image_urls_list.get(i)).into(image);
    // Adds the view to the layout
    layout.addView(image);
}

您可能希望将水平滚动视图标签作为父标签添加到 LinearLayout,以便可以水平滚动。

最新更新