1

我在同一行上有一个带有 3 个 textview 的 ListView,从 axml 文件膨胀,每个 textview 都有一个值,就像一个表。我需要在运行时更改这些文本视图的大小和位置(仅限 x 轴)。我想我已经尝试了一切,但没有任何效果。

这是我的代码:

    public override Android.Views.View GetView (int position, Android.Views.View convertView, 
                                           Android.Views.ViewGroup parent)
{           
    var view = convertView;
    if (convertView == null || !(convertView is LinearLayout))            
        view = CurrAct.LayoutInflater.Inflate(Resource.Layout.XXX, parent, false);

    if (position == _CurrPos)            
        SelectRow(view);
    else            
        view.SetBackgroundColor(CurrAct.Resources.GetColor(Resource.Color.solidwhite)); 

    TextView[] LocArrTxt = new TextView[3];
    LocArrTxt[0] = view.FindViewById<TextView> (Resource.Id.TextView0);
    LocArrTxt[1] = view.FindViewById<TextView> (Resource.Id.TextView1);
    LocArrTxt[2] = view.FindViewById<TextView> (Resource.Id.TextView2);

    for (int i=0; i<3; i++)
    {
        LocArrTxt[i].Text = NewValue; 
        LocArrTxt[i].Layout(NewLeft, OriginalTop, NewRight, OriginalBottom);
        LocArrTxt[i].SetWidth(NewRight-NewLeft);           
    }                 

    return view;
}

这是文件 axml:带有 3 个文本视图的水平线性布局。

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:minWidth="25px"
    android:minHeight="25px"
    android:id="@+id/LinLay"
    android:background="#ffffffff">
    <TextView
        android:text="Text"
        android:layout_width="160dp"
        android:id="@+id/TextView0"
        style="@style/BlackLabel"
        android:layout_height="30dp"
        android:layout_weight="1" />
    <TextView
        android:text="Text"
        android:layout_width="96dp"
        android:id="@+id/TextView1"
        style="@style/BlackLabel"
        android:layout_height="30dp"
        android:layout_weight="1" />
    <TextView
        android:text="Text"
        android:layout_width="64dp"
        android:id="@+id/TextView2"
        style="@style/BlackLabel"
        android:layout_height="30dp"
        android:layout_weight="1" />
</LinearLayout>

任何想法?我已经失去了 2 天没有解决方案。

4

0 回答 0