Xamarin Android textview在界限范围内

时间:2016-10-07 12:12:24

标签: android listview xamarin listviewitem

我尝试创建一个listview项,其中包含textview和一个水平按钮。 我希望textview在左边,按钮在右边。 按钮总是具有相同的大小,所以我想让textview占用剩下的空间。

我的问题是textview(如果它包含比屏幕更宽的文本)将按钮推出屏幕。

我希望textview不要将按钮推出屏幕 - 我希望按钮始终坚持在屏幕的右侧,无论textview中的文本有多长。 如果文本太长而无法显示,我只想尽可能多地显示(如HTML中的 overflow:hidden )而不将按钮向右推。

是否可以配置我的视图来处理这个问题,还是需要对屏幕宽度和文本长度等进行各种测量?

这是我的listview项目xaml:

{{1}}

我对Xamarin很陌生,所以如果有人能帮助我,我将不胜感激。

/ Aidal

1 个答案:

答案 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>