我有一个水平的项目列表,我希望平等地共享可用的屏幕宽度。
以前我使用索引绑定到每个项目和一个静态线性布局,每个项目都具有相同的 layout_weight。
当我用 Mvx.MvxLinearLayout 和 ItemsSource 绑定替换静态 LinearLayout 并将项目的标记移动到 Itemtemplate 时,MvxLinearLayout 不再尊重 layout_weight。
我尝试了各种重组项目模板的方法,似乎没有办法让这个控件在排列它的项目时服从 layout_weight。
有没有办法让 Mvx.MvxLinearLayout 尊重 android:layout_weight,或者任何替代方法可以给我一个动态的项目列表,这些项目将在固定尺寸边界的情况下平均排列?
编辑
假设一个包含 3 个项目的列表,具有字符串属性“名称”。
此标记按预期工作,提供 3 个等宽的文本项:
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
local:MvxBind="Text Items[0].Name"
/>
<TextView
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
local:MvxBind="Text Items[1].Name"
/>
<TextView
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
local:MvxBind="Text Items[2].Name"
/>
</LinearLayout>
此方法不起作用,布局权重未正确应用于 TextViews:
<Mvx.MvxLinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
local:MvxBind="ItemsSource Items"
local:MvxItemTemplate="@layout/item_template" />
ItemTemplate 布局文件:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
local:MvxBind="Text Name" />