我有班级
public class CompactFeedItemView extends LinearLayout {
public CompactFeedItemView(Context context,MyObject a) {
LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.compactfeedviewitem,this,true);
}
}
然后我有了compactfeedviewitem.xml文件:
<merge xmlns:android="http://schemas.android.com/apk/res/android"
android:id='@+id/feedViewItemOuterLayout'
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/compactfeedborder"
>
<ImageView android:id="@+id/feedItemIcon"
android:src="@drawable/missing"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:adjustViewBounds="true"
/>
</merge>
这是有效的,并且imageview被合并并作为子项添加,但它忽略了 机器人:layout_marginTop = “10dp” 机器人:layout_marginBottom = “10dp” 合并标签中的属性。
那么如何合并属性,或者这不可能? 我可以换到。这将有效,但最后我为我创建的每个CompactFeedItemView添加了一个额外无用的LinearLayout元素。这正是我想通过合并避免的。
答案 0 :(得分:1)
我不认为这是可能的,因为merge
标记的重点是删除不必要的ViewGroup
对象,指定属性(如margin)需要ViewGroup
个对象放在视图层次结构中。