【问题标题】:Android Design cancel effect of a widget to center alignmentAndroid Design取消小部件居中对齐的效果
【发布时间】:2015-03-22 11:36:44
【问题描述】:

我正在设计一个界面,我有两个文本视图,我想将第二个文本对齐到中心。是这样的(红线是布局的中心):

我想要这样:

我的意思是我想取消第一个 textview 的效果。 我可以用 PADDING 做到这一点,但我不知道 padding 是否适用于不同的分辨率。你有其他推荐吗?

XML:

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:gravity="center" >

    <TextView
        android:id="@+id/TextView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="5dp"
        android:paddingTop="50dp"
        android:text="%"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textSize="50dp" />

    <TextView
        android:id="@+id/TextViewLife"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingRight="40dp"
        android:text="00"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textSize="150dp" />

</LinearLayout>

【问题讨论】:

    标签: android alignment android-linearlayout padding


    【解决方案1】:

    试试这个

    使用相对布局可以修复它。并更好地使用 sp 作为字体大小。

    <RelativeLayout 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" >
    
        <TextView
            android:id="@+id/TextViewLife"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:text="00"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textSize="150sp" />
    
        <TextView
            android:id="@+id/TextView01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/TextViewLife"
            android:layout_alignParentTop="true"
            android:layout_toLeftOf="@+id/TextViewLife"
            android:gravity="center"
            android:paddingTop="50dp"
            android:text="%"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textSize="50sp" />
    
    </RelativeLayout>
    

    【讨论】:

    • 你不能使用相对布局?
    • 你应该使用相对布局,因为你应该使用线性布局你应该给权重属性,但它会导致嵌套权重..所以最好使用相对布局。
    【解决方案2】:

    您可以使用RelativeLayout。比为 id/TextViewLife 设置 android:layout_centerInParent 并将 TextView01 附加到 TextViewLife(示例 - android:layout_leftOf="@+id/TextViewLife")

    附:相对布局文档 - https://developer.android.com/guide/topics/ui/layout/relative.html

    【讨论】:

      猜你喜欢
      • 2015-12-08
      • 1970-01-01
      • 2023-02-06
      • 2018-05-07
      • 1970-01-01
      • 1970-01-01
      • 2014-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多