我尝试创建一个listview项,其中包含textview和一个水平按钮。 我希望textview在左边,按钮在右边。 按钮总是具有相同的大小,所以我想让textview占用剩下的空间。
我的问题是textview(如果它包含比屏幕更宽的文本)将按钮推出屏幕。
我希望textview不要将按钮推出屏幕 - 我希望按钮始终坚持在屏幕的右侧,无论textview中的文本有多长。 如果文本太长而无法显示,我只想尽可能多地显示(如HTML中的 overflow:hidden )而不将按钮向右推。
是否可以配置我的视图来处理这个问题,还是需要对屏幕宽度和文本长度等进行各种测量?
这是我的listview项目xaml:
{{1}}
我对Xamarin很陌生,所以如果有人能帮助我,我将不胜感激。
/ Aidal
答案 0 :(得分:1)
我真的不明白为什么人们认为使用TableLayout并在其中嵌套TableRow是ListView / RecyclerView项目的一个好习惯......
为什么你没有使用RelativeLayout来告诉按钮在右边并让文本视图填满剩下的空间?
应该是这样的:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="50dp">
<Button
android:id="@+id/btn_go"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="Go"
android:textColor="@android:color/holo_blue_dark"
android:layout_alignParentRight="true" />
<TextView
android:id="@+id/tv_item_left"
android:layout_width="match_match"
android:layout_height="match_parent"
android:layout_toLeftOf="@id/btn_go"
android:layout_alignParentLeft="true" />
</RelativeLayout>