我有一个布局,其中两个TextView将显示在同一行上,以便
如果TextView1是一个短文本,TextView2应该直接到TextView1(IMAGE1),如果TextView1是一个长文本,TextView2应该在同一行(IMAGE2)上的Layout的右下角
我怎样才能做到这一点?
答案 0 :(得分:0)
使用这样的布局..
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/editText2"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="38dp"
android:layout_toRightOf="@+id/editText1" />
</RelativeLayout>
edittext 1会将edittext2推到右侧......取决于其中的文字..
答案 1 :(得分:0)
您可以为第一个文本视图设置android:maxWidth
属性。所以你的布局看起来像这样:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="200dp"
android:text="sdfksdofsdfsdfsdfsadfgwagrswargweqrgeqrgqwergeqrgeqrg"
/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/textView1"
android:text="text2"
/>
答案 2 :(得分:0)
编辑:
我显然误读(或没有完全阅读)你的问题。只是不介意我的回答 - 我投票支持mxy:)
上次我遇到同样的问题,我无法找到或破解一个简单的解决方案。计算像素不是一个选项(至少不适合我)。但我找到了一种解决方法,最终导致了相同的显示概念,那就是使用SpannableStringBuilder。
我假设您需要两个不同的TextView,因为您希望它们具有不同的颜色(或大小,样式或字体)。
我们的想法是为整个事物使用单个TextView,并在对视图执行setText
之前准备一个SpannableString。
通过使用ForegroundColorSpan,TextAppearanceSpan等组合,您可以使单个TextView看起来像不同样式的不同TextView,并排放置,根据需要换行到下一行。
链接:
答案 3 :(得分:0)
我使用简单的水平LinearLayout和android:layout_weight属性,它就像你想要的那样工作。 例如:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/text1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="teeeeeeeext1"/>
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="text2"/>
</LinearLayout>