【问题标题】:Android layout cannot centerAndroid布局不能居中
【发布时间】:2016-12-01 14:44:52
【问题描述】:

这是我在布局文件中的xml:

  <?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="match_parent"
                android:background="@color/cwigreen">
  <LinearLayout
    android:orientation="vertical"
    android:layout_centerInParent="true"
    android:layout_width="wrap_content"
    android:layout_height ="wrap_content"
    android:background ="@drawable/customCard"
    />
  <LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height ="match_parent">
    <LinearLayout
      android:orientation="vertical"
      android:layout_width="wrap_content"
      android:layout_height ="match_parent">
    <TextView
           android:text="Policy Holder Name: "
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:layout_centerHorizontal="true"
           android:textStyle="bold"
           android:textColor ="@color/black"
           android:textSize="14dip" />
    <TextView
           android:text="ID Number: "
           android:textSize="14dip"
           android:layout_centerHorizontal="true"
           android:textColor ="@color/black"
           android:textStyle="bold"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"/>
    </LinearLayout>
    <LinearLayout
      android:orientation="vertical"
      android:layout_width="wrap_content"
      android:layout_height ="match_parent">
      <TextView
            android:id="@+id/holderName"
            android:text=""
            android:layout_centerHorizontal="true"
            android:textColor ="@color/black"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="14dip" />
      <TextView
             android:id="@+id/idNumber"
             android:text=""
             android:layout_centerHorizontal="true"
             android:textColor ="@color/black"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:textSize="14dip" />
    </LinearLayout>
  </LinearLayout>
</RelativeLayout>

这是输出的图片

我需要文本视图显示在卡片背景图像的中间。我尝试过使用网格布局和许多其他设置。任何帮助将不胜感激。

【问题讨论】:

    标签: android xml layout


    【解决方案1】:

    你应该试试这个 xml 结构。 (示例图片中没有你的背景)

    <?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="match_parent"
    android:background="@color/cwigreen">
    <LinearLayout
        android:orientation="vertical"
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height ="wrap_content"
        android:background ="@drawable/customCard"
        >
    
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    
            <TextView
                android:text="Policy Holder Name: "
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:textStyle="bold"
                android:textColor ="@color/black"
                android:textSize="14dp"
                android:id="@+id/textView1" />
    
            <TextView
                android:text="ID Number: "
                android:textSize="14dp"
                android:layout_centerHorizontal="true"
                android:textColor ="@color/black"
                android:textStyle="bold"
                android:layout_below="@id/holderName"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/textView2" />
    
            <TextView
                android:id="@+id/holderName"
                android:text=""
                android:layout_centerHorizontal="true"
                android:textColor ="@color/black"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/textView1"
                android:textSize="14dip" />
    
            <TextView
                android:id="@+id/idNumber"
                android:text=""
                android:layout_centerHorizontal="true"
                android:textColor ="@color/black"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_toRightOf="@id/textView2"
                android:layout_alignBottom="@id/textView2"
                android:textSize="14dip" />
        </RelativeLayout>
    </LinearLayout>
    

    结果如下图。

    如有任何其他问题请提出

    【讨论】:

    • 这要好得多,但是由于某种原因,即使您将背景图像设置为 wrap_content,我的背景图像也会在宽度上拉伸...知道为什么会这样吗?
    • 您能提供一张图片吗?还是这个有问题的图像已经被拉伸了?
    【解决方案2】:

    您的线性水平布局(第二个)也应该使用 android:layout_centerInParent="true" 在父级居中

    【讨论】:

      猜你喜欢
      • 2019-06-02
      • 1970-01-01
      • 1970-01-01
      • 2014-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-10
      相关资源
      最近更新 更多