我有一个LinearLayout
,当我点击一个按钮时,我会添加图片,我试图使用LayoutParams
更改宽度和高度,因为它不适合应用,而我总是得到一个空引用,问题是我无法进行任何引用,因为它不是静态的ImageView
。
这就是我在LinearLayout
中添加图片的方式:
public void AddNewImages(Context context,Bitmap bitmap){
ImageView img = new ImageView(context);
img.setScaleType(ImageView.ScaleType.FIT_XY);
img.setImageBitmap(bitmap);
linearImages.addView(img);
bitmapArray.add(bitmap);
indexTags++;
}
XML:
<LinearLayout
android:orientation="vertical"
android:focusable="true"
android:focusableInTouchMode="true"
android:layout_width="match_parent"
android:layout_height="match_parent">
<HorizontalScrollView
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="horizontal"
android:id="@+id/linearImages"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:layout_gravity="center"
android:id="@+id/add_btn"
android:text="Add"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</HorizontalScrollView>
答案 0 :(得分:1)
首先,你必须找到你在linearlayout中添加的Imageview并设置大小 即
for(int i=0;i<linearImages.getChildCount();i++)
{
ImageView image=(ImageView)linearImages.getChildAt(i);
image.getLayoutParams().height=100;
image.getLayoutParams().width=100;
}
答案 1 :(得分:0)
ImageView imgae = (ImageView) linearImages.getChildAt(0); // For first image
然后设置LayoutParam
。
答案 2 :(得分:0)
您正在动态创建ImageView,因此您必须先为其设置layoutParameters,然后才能设置imageview的高度和宽度。请参阅此NullPointerException while setting LayoutParams问题