以下步骤:
我动态创建一个ImageView并将其设置为我之前从服务器下载过的位图。通过使用setLayoutParams缩小图像而不改变其实际大小,图像显示为缩略图。我在显示器顶部的主XML布局文件中有一个水平LinearLayout,用这些缩略图填充。想象一下显示器顶部有一排缩略图。 这有效!
在主XML布局文件中,我在LinearLayout下面有一个更大的ImageView(如上所述),它应该显示我点击的缩略图的大版本。所以我必须设法将缩略图ImageView中的位图分配给更大的ImageView。简单地说这是不可能的:bigImageView = imageViewArray [i];
请告诉我这项任务是如何完成的?
以下是主要的XML布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".GalleryWithBaseadapter"
android:background="#000000">
<HorizontalScrollView
android:id="@+id/horizontalContainer"
android:background="#000000"
android:layout_width="wrap_content"
android:layout_height="120dp">
<LinearLayout
android:orientation="horizontal"
android:id="@+id/imgLinearLayout"
android:background="#000000"
android:layout_gravity="left"
android:layout_width="wrap_content"
android:layout_height="match_parent">
</LinearLayout>
</HorizontalScrollView>
<ProgressBar
android:id="@+id/myProgressBar"
android:visibility="visible"
style="?android:attr/progressBarStyleHorizontal"
android:max="100"
android:layout_gravity="center_horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:text="Click Me"
android:onClick="onClickButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageView
android:id="@+id/bigImage"
android:padding="4dp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
感谢您的建议!
答案 0 :(得分:2)
试试这个:
bigImageView.setImageDrawable(imageViewArray[i].getDrawable());
顺便说一句,您应该从文件源设置大图像,并将图像的小缩放版本加载到缩略图列表中,以避免内存问题。
答案 1 :(得分:1)
试试这个:
ImageView bigImage = ...
ImageView[] smallImages = ...
public void setSmallToBig(int positionInSmallArray){
Drawable d = smallImages[positionInSmallArray].getDrawable();
bigImage.setDrawableImage(d);
}