android-在布局中逐个添加 imageViews

问题描述

在布局中逐个添加 imageViews

我想使用一个按钮添加一个图像,然后在一个指定的 relativeLayout 上显示缩略图。

public void showViewOfReceiptFromSelecting(String uriString)
     {
         byte[] imageData = null;
         try
         {
         InputStream fis = this.getContentResolver().openInputStream(Uri.parse((uriString)));
         Bitmap imageBitmap = BitmapFactory.decodeStream(fis);
         imageBitmap = Bitmap.createScaledBitmap(imageBitmap, 40, 40, false);
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
         imageData = baos.toByteArray();
         ImageView image = new ImageView(this);
         image.setImageBitmap(imageBitmap);
         image.setId(counterOfReceipts);
         RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
         rlp.addRule(RelativeLayout.RIGHT_OF, counterOfReceipts - 1);
         myRelalativelayout.addView(image, rlp);  // a relative Layout i already defined earlier in the code
         counterOfReceipts = counterOfReceipts + 1 ;
         }
         catch(IOException e) {
            e.printStackTrace();
         }
     }

现在的问题是,当我试图再添加一个缩略图时,它就会取代了之前的那个旧的。我改怎么处理这个问题?

解决方案

rlp属性是否是需要设置为ALIGN_WITH_PARENT_LEFT或者ALIGN_WITH_PARENT_RIGHT

解决方案二:

当然会取代了,因为你没有添加一个新的视图到布局中,只是替换了图像。使用一个 LinearLayout 代替RelativeLayout,然后当你想添加一个新的缩略图时,创建一个新的 ImageView,在 bitmap中设置ImageView 的背景,然后添加到 LinearLayout 中。
不要忘记定义 LinearLayout 方向。

时间: 2024-09-27 11:08:27

android-在布局中逐个添加 imageViews的相关文章

android-在 layout中不能逐个添加 imageViews

问题描述 在 layout中不能逐个添加 imageViews 我想使用一个按钮添加一个图像,然后在一个指定的relativeLayout中显示缩略图.使用下面的代码,但是不能正确运行. public void showViewOfReceiptFromSelecting(String uriString) { byte[] imageData = null; try { InputStream fis = this.getContentResolver().openInputStream(Ur

如何获取布局中动态添加的spinner的内容?

问题描述 如何获取布局中动态添加的spinner的内容? 现在有父布局LinearLayout id为payItemts 有子布局LinearLayout id为payItem 子布局payItem中包含一个id为accountName的spinner.一个id为payMoney的EditText 在activity中,通过有一个按钮btA,可以动态的往父布局中添加子布局,每点击一次,动态添加一个item 有一个btB,如何通过点击btB获取Activity中所有Spinner的内容?(spin

linearlayout-android UI布局中layout_weight的问题,请高人指教

问题描述 android UI布局中layout_weight的问题,请高人指教 当我把占比例0.45的LinearLayout的visibility 设置为gone后,占比例为0.55的linearlayout就会占满全屏,请高人指教. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/re

Android中如何在maiactivity.java中往布局中添加一个文本编辑框

问题描述 Android中如何在maiactivity.java中往布局中添加一个文本编辑框 怎么从maiactivity.java中往布局中添加一个文本编辑框 EditText et_miyue=new EditText(null); et_miyue.setHint("请输入密钥..."); et_miyue.setSingleLine(true); et_miyue.setAlpha(getWallpaperDesiredMinimumWidth()); et_miyue.set

Android开发实现布局中为控件添加选择器的方法

本文实例讲述了Android开发实现布局中为控件添加选择器的方法.分享给大家供大家参考,具体如下: 在开发过程中,动态交互的一些展示效果可以通过布局中添加选择器实现,这样就可减少Activity等的代码数量,MVP开发中降低耦合性,使开发人员在写代码时只需要关注逻辑处理. 比如:一个按钮,原本背景图片为红色,字体为黑色,点击时候背景图片为黄色,字体改为白色. 这类简单效果在布局时就可以实现: <Button android:id="@+id/btn_start" android:

settings-无法再android系统setting中的actionbar中添加switch

问题描述 无法再android系统setting中的actionbar中添加switch 在系统setting中添加了一个自己的选项.可惜在界面中的actionbar上无法添加switch 系统的蓝牙setting中有相同的结构.源码的添加switch代码如下: 大神们!!!求解啊!!!!!! Activity activity = getActivity(); Switch actionBarSwitch = new Switch(activity); if (activity instanc

Android应用开发中使用GridView网格布局的代码示例_Android

基本布局演示1. 定义包含GridView 的 main.xmk <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fil

android:在Activity如何写一种方法,当调用时可以永久的向原来的布局中增添或修改控件?

问题描述 android:在Activity如何写一种方法,当调用时可以永久的向原来的布局中增添或修改控件? 如题,在Activity如何写一种方法,当调用时可以永久的向原来的布局中增添或修改控件? 解决方案 不明白干嘛,添加控件,无非就是先创建或渲染出一个view,然后通过addview加入到指定的容器中 解决方案二: 可控的话 先写在xml中设visible为gone. 需要的时候设置为visible 解决方案三: 不太清楚你的意思.如果就是添加界面的话,可以用两种方法,一种是楼上说的,可以

Android中Window添加View的底层原理_Android

一.WIndow和windowManagerWindow是一个抽象类,它的具体实现是PhoneWindow,创建一个window很简单,只需要创建一个windowManager即可,window具体实现在windowManagerService中,windowManager和windowManagerService的交互是一个IPC的过程. 下面是用windowManager的例子: mFloatingButton = new Button(this); mFloatingButton.setT