Hãy tưởng tượng chúng ta đang phát triển thành phần hỗn hợp dựa trên linearLayout. Vì vậy, chúng tôi tạo ra lớp như thế này:
public class SomeView extends LinearLayout {
public SomeView(Context context, AttributeSet attrs) {
super(context, attrs);
setOrientation(LinearLayout.VERTICAL);
View.inflate(context, R.layout.somelayout, this);
}
}
Nếu chúng tôi sử dụng LinearLayout
làm gốc của somelayout.xml
, chúng tôi sẽ có thêm cấp độ xem, vì vậy chúng tôi sử dụng thẻ hợp nhất:
<?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>
Nhưng trong tab Xem trước trong hợp nhất IDE luôn hoạt động như FrameLayout và chúng ta sẽ thấy một cái gì đó như thế:
(Đó là Android Studio, Intellij IDEA cũng giống như vậy, về Eclipse tôi không biết)
Xem trước tăng tốc độ phát triển bố cục rất nhiều, thật đáng buồn khi mất một sự trợ giúp tuyệt vời như vậy ngay cả đối với một số bố cục. Có thể có một cách để xác định, làm thế nào Xem trước nên diễn giải merge
thẻ trong bố cục cụ thể?