1
私はネイティブAndroidスタジオのデータバインディング機能をカスタムレイアウトと共に使用しようとしました。 マイカスタムレイアウトは次のようになります。カスタムビュー<merge>と<layout>タグ
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>
ここでの問題は、私はネストされた2つのLinearLayoutを持っているということです。 <merge>
tagを使用して縮小しようとしましたが、<layout>
と<merge>
タグを1つのレイアウトにまとめることはできないようです。
<layout>
と<merge>
タグを1つのレイアウトで一緒に使用する別の方法はありますか?
ありがとうございます。