У меня есть классАтрибуты тега слияния
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 слито в и добавил, как ребенок, НО он игнорирует android: layout_marginTop = "10dp" android: layout_marginBottom = "10dp" атрибуты из тега merge.
Как я могу объединить атрибуты, или это невозможно? Я мог бы изменить. Это будет работать, но затем я получаю лишний бесполезный элемент LinearLayout для каждого создаваемого CompactFeedItemView. Именно этого я и хотел избежать слиянием.
Но есть объект ViewGroup. CompactFeedItemView - объект ViewGroup, поэтому я ожидаю, что он объединит атрибуты от в эту группу. Нет причин не делать этого. –
MTilsted