【发布时间】:2016-08-24 09:47:31
【问题描述】:
我尝试将原生 Android Studio 数据绑定功能与自定义布局一起使用。 我的自定义布局如下所示:
public class MainNavigationEntryView extends LinearLayout {
private MainNavigationEntryBinding layoutBinding;
public MainNavigationEntryView(Context context) {
super(context);
init(context, null);
}
[...]
private void init(Context context, AttributeSet attrs) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
layoutBinding = MainNavigationEntryBinding.inflate(inflater, this, true);
[...]
}
}
我的布局文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/imageIcon"
android:layout_width="@dimen/tabbar_icon_size"
android:layout_height="@dimen/tabbar_icon_size"
android:layout_marginTop="4dp"
android:background="@drawable/stateful_background_no_bounds"
android:gravity="center"
tools:ignore="contentDescription"/>
<ImageView
android:id="@+id/imageIndicator"
android:layout_width="@dimen/indicator_size_small"
android:layout_height="@dimen/indicator_size_small"
android:src="@drawable/background_circle_blue"
android:visibility="gone"
tools:visibility="visible"
tools:ignore="contentDescription"/>
</LinearLayout>
</layout>
这里的问题是我有两个嵌套的 LinearLayout。我试图通过使用<merge> tag 来减少它,但似乎不可能将<layout> 和<merge> 标签放在一个布局中。
有没有其他方法可以做到这一点,或者将<layout> 和<merge> 标签放在一个布局中?
提前致谢。
【问题讨论】:
标签: android android-layout layout merge