0

レイアウトに 3 つの MvxBindableListView ウィジェットを配置しようとしましたが、成功しませんでした。各 MvxBindableListView が内部スクロールなしで完全に表示され、「ページ」がスクロール可能になるようにする方法はありますか。これはレイアウトです:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res/MyCurrentProject.Client.UI"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp">
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            local:MvxBind="{}" />
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:textAppearance="?android:attr/textAppearanceLarge"
            local:MvxBind="{}" />
        <Mvx.MvxBindableListView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:clickable="false"
            local:MvxBind="{}" />
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:textAppearance="?android:attr/textAppearanceLarge"
            local:MvxBind="{}" />
        <Mvx.MvxBindableListView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:clickable="false"
            local:MvxBind="{}" />
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:textAppearance="?android:attr/textAppearanceLarge"
            local:MvxBind="{}" />
        <Mvx.MvxBindableListView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:clickable="false"
            local:MvxBind="{}" />
    </LinearLayout>
</LinearLayout>

ここではバインドは空ですが、完全に機能しています。リストには可変数の要素があるため、高さを固定することはできません...

前もって感謝します!

4

2 に答える 2

2

チェックアウトMvxBindableLinearLayout- ただし、1 つまたは複数の長いリスト全体を表示すると、追加のリソース (メモリ、グラフィックス オブジェクトなど) を大量に使用する可能性があることを考慮してください。

于 2013-01-09T14:47:06.733 に答える
1

トリックを使用してリストを拡大し、スクロールビュー内に配置することができます。以下のコードを参照してください。通常のMvxBindableListViewと同じ方法で使用します。

public class BindableExpandableHeightListView : MvxBindableListView
{
   public BindableExpandableHeightListView(Context context, IAttributeSet attrs) : base(context, attrs) { }

   public BindableExpandableHeightListView(Context context, IAttributeSet attrs, MvxBindableListAdapter adapter) : base(context, attrs, adapter) { }

   private bool _isExpanded = true;

    protected override void OnMeasure(int widthMeasureSpec, int heightMeasureSpec)
    {
        if (_isExpanded)
        {
            int expandSpec = MeasureSpec.MakeMeasureSpec(int.MaxValue >> 2, MeasureSpecMode.AtMost);
            base.OnMeasure(widthMeasureSpec, expandSpec);

            ViewGroup.LayoutParams layoutParams = LayoutParameters;
            layoutParams.Height = MeasuredHeight;
        }
        else
        {
            base.OnMeasure(widthMeasureSpec, heightMeasureSpec);
        }
    }

}
于 2013-01-10T13:52:30.180 に答える