我想将照片放在FrameLayout
或LinearLayout
的照片下,所以当我用相机拍照时,照片应放在彼此之下。
问题是,我只能添加一张图片。第二个出现以下错误:
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=131074, result=-1, data=null} to activity {com.unitnode/com.unitnode.OpenprojectAlternative}: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
这是我的布局文件:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/openproctScrollview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#FFFFFF"
android:fillViewport="true"
android:padding="15dp">
<FrameLayout
android:id="@+id/pictureTabLinearLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical" >
<Button
android:id="@+id/neuesBildButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/addtabbutton" />
</FrameLayout>
</ScrollView>
为此,我首先使用ImageView
为imageView = new ImageView(this.getActivity())
创建一个新对象;并设置:imageView.setAdjustViewBounds(true);
然后我将图片设置为ImageView
,设置高度并将ImageView
添加到布局:
imageView.setMaxHeight(createScaleBitmap.getHeight());
Log.d("bmRotated.getHeight()", "bmRotated.getHeight() " + createScaleBitmap.getHeight());
imageView.setImageBitmap(createScaleBitmap);
FrameLayout.LayoutParams viewParameters = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT);
viewGroup.addView(imageView, viewParameters);
编辑:我尝试过每次创建一个新的LinearLayout
。但结果是一样的(我甚至不能再添加一张图片):
layout = new LinearLayout(this.getActivity());
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layout.setLayoutParams(layoutParams);
viewGroup.addView(layout);
layout.addView(imageView);
其中viewGroup
是LinearLayout
答案 0 :(得分:0)
您只添加了一个framelayout。 “framelayout的数量=要存储的图片数量。” 因此,当您想要将图片附加到框架并使其不可见并使另一个框架可见时,然后再次运行该意图。 向我询问进一步的帮助。
答案 1 :(得分:0)
如果您向FrameLayout
添加多个图像,它们将被有效堆叠,您只能在堆栈顶部看到图像。
这是你想要的吗?
如果您想逐个展示它们并滚动它们(当您使用ScrollView
时),那么您应该考虑使用GridView
或ListView
并添加图像到适配器。