同じ行に3つのテキストビューがあり、axmlファイルからインフレートされたListViewがあります。各テキストビューには、テーブルのような値があります。実行時にこれらのテキストビューのサイズと位置(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日を失いました。