我正在努力工作几个小时但无法解决它。 我想在XML文件中合并2个图像 - 所以这将是我的形状的基本xml文件。 我希望这个形状包括一个png,它是一个框架,一个png是一个框架内的图片。那张照片会动态变化。
我已经尝试使用标记并构建我的形状,但是当我将它包含在我的主xml文件中时,它会失败,因为我只能以root身份使用merge。 尝试做同样的事情,但仍然没有得到我想要的......
我能做些什么才能合并这两个png,并且能够在png内部设置内部png位置?
EDITED: 一些代码:
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/userprofilepicture"
android:scaleType="fitXY"
android:contentDescription="@string/SmallLogo" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:contentDescription="@string/SmallLogo"
android:scaleType="fitXY"
android:padding="30dp"
android:src="@drawable/questionmark" />
</FrameLayout>
这是我的框架和内部pic xml源.. 在图形布局中查看它看起来不错。 当它包含在我的主xml文件中时,从某种程度上它会翻转图像...... ???
这是我的主要xml的一部分:
<TableRow>
<ImageView
android:layout_gravity="center_vertical"
android:layout_marginTop="2.5dp"
android:contentDescription="@string/SmallLogo"
android:src="@drawable/logosmall" />
<ImageView
android:layout_gravity="center_vertical"
android:layout_marginLeft="10dp"
android:layout_marginTop="2.5dp"
android:contentDescription="@string/slogen"
android:src="@drawable/slogen" />
<include layout="@drawable/userprofilepicture"
android:layout_width="30dp"
android:layout_height="30dp"/>
</TableRow>
答案 0 :(得分:0)
答案 1 :(得分:0)
创建FrameLayout自定义类。该类将具有framelayout的所有XML属性。
com.package.example;
public class PictureFrame extends FrameLayout {
public PictureFrame(Context c, AttributeSet attrs) {
super(c, attrs);
LayoutInflater inflater = (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//This adds the image views as you've styled them in the XML file
inflater.inflate(R.layout.myFrameImages, this);
}
public void setInnerImage(int resource) {
ImageView ivInner = (ImageView) findViewById(R.id.innerImage);
ivInner.setImageResource(resource);
}
}
您的XML文件看起来像
<ImageView
android:src="@drawable/myFrameImage"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:scaleType="fitXY"/>
<ImageView
android:src="@drawable/myInnerImage"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="fitXY"
android:layout_margin="10dp"
android:id="@+id/innerImage"/>
您还可以在XML中声明它时创建自己的XML属性,因此可以直接在xml中声明内部图像。如果您需要帮助,您必须与我联系或发布其他问题。