【问题标题】:TextView overlapping on another in AndroidTextView在Android中与另一个重叠
【发布时间】:2015-01-05 05:02:59
【问题描述】:

我正在我的项目的设计部分工作。

我的布局如下:

<?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="80dp" >

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_toLeftOf="@+id/textviewIdPushDate"
        android:layout_toRightOf="@+id/imageviewIdPushPopup" >

        <TextView
            android:id="@+id/textviewIdPushShowName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:singleLine="true"
            android:text="Show" />

        <TextView
            android:id="@+id/textviewIdPushEmailId"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:singleLine="true"
            android:text="Show" />

        <TextView
            android:id="@+id/textviewIdPushAlert"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:singleLine="true"
            android:text="Show" />
    </RelativeLayout>

    <TextView
        android:id="@+id/textviewIdPushDate"
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:gravity="right"
        android:text="Show" />

    <ImageView
        android:id="@+id/imageviewIdPushPopup"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:layout_alignParentLeft="true" />

</RelativeLayout>

在此布局中,包含 3 个 TextViewsRelativeLayout 未按预期在 10 个 inch Samsung 平板电脑中一一排序。在 7 inch 平板电脑上也能正常工作。

我已经把我的努力达到了我的水平。如果有的话,谁能弄清楚我犯的错误?

并为Android推荐一些设计教程。

【问题讨论】:

  • 在设备的不同屏幕上会获得不同的像素和空间。所以在大屏幕上它会是无序的。您可以使用带有权重属性的线性布局或正确使用相对布局的属性。
  • 增加相对布局的高度,因为ppi更多的是10英寸平板电脑,80 dp变小了。使用7英寸和10英寸两种布局。
  • 我能理解的问题是,您想在 10 英寸平板电脑中显示三个水平对齐的文本视图,在其他设备中显示三个垂直对齐的文本视图,是这样吗?

标签: android android-layout android-relativelayout


【解决方案1】:

也许您可以使用 LinearLayout 而不是 RelativeLayout,因此您将有 3 个 textViews 井井有条,垂直或水平排列,就像这样(在代码中我放置了垂直方向)

   <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_toLeftOf="@+id/textviewIdPushDate"
    android:layout_toRightOf="@+id/imageviewIdPushPopup"
    android:orientation="vertical">

    <TextView
        android:id="@+id/textviewIdPushShowName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:singleLine="true"
        android:text="Show" />

    <TextView
        android:id="@+id/textviewIdPushEmailId"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:singleLine="true"
        android:text="Show" />

    <TextView
        android:id="@+id/textviewIdPushAlert"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:singleLine="true"
        android:text="Show" />
   </LinearLayout>

对于 Android 设计教程,我认为首先要做的最好的事情是使用官方教程: http://developer.android.com/design/index.html

希望能有所帮助。

【讨论】:

    猜你喜欢
    • 2020-12-18
    • 2020-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    • 2013-06-30
    • 2020-12-06
    相关资源
    最近更新 更多