LinearLayout クラスを拡張し、次のように onMeasure() メソッドをオーバーライドするカスタム レイアウトを使用したいと考えています。
<com.myPackage.CustomLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
.....
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
.....
</LinearLayout>
</com.myPackage.CustomLayout>
私のカスタムレイアウト:
public class CustomLayout extends LinearLayout {
private static final double VIEW_ASPECT_RATIO = 2;
private ViewAspectRatioMeasurer varm = new ViewAspectRatioMeasurer(
VIEW_ASPECT_RATIO);
public HomeLayout(Context context) {
super(context);
}
public HomeLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
varm.measure(widthMeasureSpec, heightMeasureSpec);
setMeasuredDimension(varm.getMeasuredWidth(), varm.getMeasuredHeight());
}
}
問題は、すべての子レイアウトが表示されないことです。この作業を行うにはどうすればよいですか? ありがとう!
(下手な英語でごめんなさい)
編集:私はこのクラスを使用しましたhttps://github.com/jesperborgstrup/buzzingandroid/blob/master/src/com/buzzingandroid/ui/ViewAspectRatioMeasurer.java