Mari kita bayangkan kita sedang mengembangkan komponen senyawa berdasarkan LinearLayout. Jadi, kami membuat kelas seperti ini:
public class SomeView extends LinearLayout {
public SomeView(Context context, AttributeSet attrs) {
super(context, attrs);
setOrientation(LinearLayout.VERTICAL);
View.inflate(context, R.layout.somelayout, this);
}
}
Jika kami akan menggunakan LinearLayout
sebagai root somelayout.xml
, kami akan memiliki tingkat tampilan tambahan, jadi kami menggunakan tag gabungan:
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Some text"
android:textSize="20sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Some other text"/>
</merge>
Tapi di tab Preview di IDE gabungan selalu bertindak sebagai FrameLayout, dan kita akan melihat sesuatu seperti itu:
(Ini adalah Android Studio, Intellij IDEA sama saja, tentang Eclipse saya tidak tahu)
Pratinjau mempercepat pengembangan tata letak, sedih kehilangan bantuan besar bahkan untuk beberapa tata letak. Mungkin ada cara untuk menentukan, bagaimana Pratinjau harus menafsirkan merge
tag dalam tata letak tertentu?