如何在运行时更改Android ListView中的textview大小和位置

时间:2012-12-06 14:39:18

标签: android mono

我在同一行有一个带有3个textview的ListView,从axml文件中充气,每个textview都有一个值,就像一个表。 我需要在运行时更改这些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个textview的水平linearlayout。

    <?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天。

0 个答案:

没有答案