Wyobraźmy sobie, że tworzymy komponent złożony oparty na LinearLayout. Tak, tworzymy klasę tak:Podgląd układu z głównym tagiem root w Intellij IDEA/Android Studio
public class SomeView extends LinearLayout {
public SomeView(Context context, AttributeSet attrs) {
super(context, attrs);
setOrientation(LinearLayout.VERTICAL);
View.inflate(context, R.layout.somelayout, this);
}
}
Jeśli użyjemy LinearLayout
jako pierwiastka somelayout.xml
, będziemy mieli dodatkowy poziom widok, więc używamy scalić tag:
<?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>
Ale w Zakładka podgląd w IDE seryjnej zawsze działa jako FrameLayout, a my zobaczymy coś takiego:
(to jest Android Studio, IntelliJ IDEA jest tak samo, o Eclipse nie wiem)
Podgląd przyspiesza projektowanie układów, to smutne, stracić tak wielką pomoc, nawet w przypadku niektórych układów. Być może istnieje sposób na określenie, w jaki sposób Podgląd powinien interpretować znacznik merge
w określonym układzie?
Chciałbym również zobaczyć tę obsługę. –
To może być rozwiązane w przyszłości przez atrybut tools. https://code.google.com/p/android/issues/detail?id = 61652 – Jonas