根据空间将文本右对齐或下对齐

时间:2016-03-03 17:21:25

标签: android android-layout android-view android-layoutparams

我有两个textview,我想根据空间将第二个textview对齐到第一个textview的右边或底部。结果应该是这样的:

第一种情况(单行):

Text1一行Text2

第二种情况(多行):

Text1示例

两行
___________文本2

如您所见,在第一种情况下,第二个文本视图与右侧对齐,而在第二种情况下,它与右侧和底部对齐。我怎样才能在xml中实现这个结果?

提前致谢!

2 个答案:

答案 0 :(得分:0)

您可以使用FlowLayout ViewGroup作为父母。

  

https://github.com/ApmeM/android-flowlayout

答案 1 :(得分:0)

你的意思是Text1大于屏幕?

这是我写的示例代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:background="@android:color/holo_green_dark"
    android:layout_height="wrap_content">

    <TextView
    android:layout_weight="1"
    android:gravity="bottom|left"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="your text more than 1 line"/>

    <TextView
        android:gravity="center|bottom"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="Text2"/>

</LinearLayout>

为了让Text1保持不变而Text2是正确的,请使用LinearLayout并设置orientation:"horizontal"

enter image description here

请告诉我,如果这不符合您的要求。

与您的问题相关,您只需要使用TextView的{​​{1}},如果gravity的值为动态,则必须在您的java文件中创建条件。