java - 如何让 Button 右对齐,而不被 TextView 重叠?

标签 java xml android android-relativelayout

我正试图得到这样的东西:http://img202.imageshack.us/img202/552/layoutoy.png .我将其用作列表项(技术上用作 ExpandableListView 的组 View )。

这是 XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight">

    <TextView
        android:id="@+id/list_item_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="end" />

    <Button
        android:id="@+id/list_item_button"
        android:text="Click me!"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_toRightOf="@id/list_item_text" />

</RelativeLayout>

但这行不通。 Button 不包装其内容,而是使用所有可用的水平空间。 TextView 确实 包装了它的内容,但我希望它做的是在它与 Button 重叠时切断。

换句话说,无论 TextView 中的文本数量如何,我都希望所有按钮的宽度都相同。这有可能吗?

最佳答案

我认为你应该反过来试试。 使 TextView 位于按钮的左侧。这样 Textview 就不会与 Button 重叠。如果您希望它在行尾被截断,则必须将其限制为一行。目前它只会将其余文本移至下一行。

这应该可以解决问题:

<Button
    android:id="@+id/list_item_button"
    android:text="Click me!"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"/>

<TextView
    android:id="@+id/list_item_text"
    android:text="veryveryveryveryveryveryveryveryveryverylong"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@id/list_item_button"
    android:ellipsize="end" />

</RelativeLayout>

关于java - 如何让 Button 右对齐,而不被 TextView 重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2720719/

相关文章:

Android:在 CountDownTimer 中的 onFinish() 之前延迟

jquery - 从 Java 调用 Android 的 WebView 中的 jQuery 函数?

android - 如何在android的启动画面中播放音频

java - Play Framework 2.1 (Java) eBean @Encrypted 注释错误

java - 具有大量列的 MySQL JPA 查询运行速度比预期慢得多

java - Eclipse : adt was unable to instantiate class com. android.ide.eclipse.adt.internal.editors.common.CommonXmlEditor

Java 在单独的方法中重复处理异常

XML::Twig 正在为多行中提供的值添加空换行符

java - 如何解决上下文初始化失败的问题?

xml - xslt转换