Android 设计一个小部件居中对齐的取消效果
Android Design cancel effect of a widget to center alignment
我正在设计一个界面,我有两个文本视图,我想将第二个文本居中对齐。是这样的(红线为布局中心):
我想要那样:
我的意思是我想取消第一个textview的效果。 我可以用 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>
您可以使用 RelativeLayout。比为 id/TextViewLife 设置 android:layout_centerInParent 并将 TextView01 附加到 TextViewLife(示例 - android:layout_leftOf="@+id/TextViewLife")
P.S。 RelativeLayoutDocumentation - https://developer.android.com/guide/topics/ui/layout/relative.html
试试这个
使用相对布局可以修复它。更好地使用 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>
我正在设计一个界面,我有两个文本视图,我想将第二个文本居中对齐。是这样的(红线为布局中心):
我想要那样:
我的意思是我想取消第一个textview的效果。 我可以用 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>
您可以使用 RelativeLayout。比为 id/TextViewLife 设置 android:layout_centerInParent 并将 TextView01 附加到 TextViewLife(示例 - android:layout_leftOf="@+id/TextViewLife")
P.S。 RelativeLayoutDocumentation - https://developer.android.com/guide/topics/ui/layout/relative.html
试试这个
使用相对布局可以修复它。更好地使用 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>