【问题标题】:Android RelativeLayout : positionning in bottom rightAndroid RelativeLayout:定位在右下角
【发布时间】:2014-05-31 12:21:17
【问题描述】:

正如您在随附的屏幕截图中看到的那样,我无法在列表的每个项目的右下角设置我的 relativeLayout 和关联的 textview 的位置。

一旦文本太长并占用 2 行,我在 Relativelayout 中的 textview 被剪切..

我该如何解决这个问题?

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:background="@color/blanc" >

        <ImageView
            android:id="@+id/allannonces_image"
            android:layout_width="83dp"
            android:layout_height="90dp"
            android:scaleType="centerCrop" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginBottom="10dp"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="10dp"
            android:layout_weight="1"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/allannonces_titre"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="TextView"
                android:textSize="15sp" />

            <TextView
                android:id="@+id/allannonces_prix"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="2dp"
                android:text="TextView" />

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                <TextView
                    android:id="@+id/allannonces_categorie"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true"
                    android:layout_alignParentRight="true"
                    android:layout_marginRight="10dp"
                    android:background="@drawable/bordertextview"
                    android:paddingLeft="5dp"
                    android:paddingRight="7dp"
                    android:text="TextView" />

            </RelativeLayout>

        </LinearLayout>

    </LinearLayout>

</LinearLayout>

【问题讨论】:

  • 我不知道为什么,但是您是否将RelativeLayout 更改为FrameLayout,然后将android:layout_gravity="right" 添加到您的TextView?

标签: android android-layout android-linearlayout android-relativelayout


【解决方案1】:

我会非常简化您的布局设计。

请注意,此布局不仅解决了您的问题,而且还优化了原始设计。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#ffff"
    android:layout_margin="5dp"
    >
    <ImageView
        android:id="@+id/allannonces_image"
        android:layout_width="83dp"
        android:layout_height="90dp"
        android:layout_alignParentLeft="true"
        android:scaleType="centerCrop"
    />
    <TextView
        android:id="@+id/allannonces_titre"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@id/allannonces_image"
        android:text="TextView"
        android:textSize="15sp"
    />
    <TextView
        android:id="@+id/allannonces_prix"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="2dp"
        android:layout_below="@id/allannonces_titre"
        android:layout_toRightOf="@id/allannonces_image"
        android:text="TextView"
        android:textSize="15sp"
    />
    <TextView
        android:id="@+id/allannonces_categorie"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:background="#fddd"
        android:paddingLeft="5dp"
        android:paddingRight="7dp"
        android:text="TextView"
    />
</RelativeLayout>

请不要在此设计中使用较少的布局。
这将提高整体性能。

请注意,因为我没有颜色,所以我硬编码了容器上的白色和类别 TextView 上的灰色。

【讨论】:

  • android:layout_alignParentBottom="true" android:layout_alignParentRight="true" gr8
【解决方案2】:

不仅minLines,还给line

           <TextView
            android:id="@+id/allannonces_titre"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView"
            android:minLines="2"
            android:lines="2"
            android:textSize="15sp" />

【讨论】:

    【解决方案3】:

    将保存有问题的文本视图的RelativeLayout 中的android:layout_width="match_parent" 更改为android:layout_width="wrap_content"

    这应该可以解决您的问题...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-11
      • 2021-08-06
      相关资源
      最近更新 更多