这是我的xml代码,我希望将中心Textview
保留在包含textview
和视图的线性布局中,但是我希望文本视图可以在线性布局底部高喊中心以查看,即按钮textview
应该顶视图和底视图linearLayout
居中。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/no_vouchers_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.CardView
android:id="@+id/xxlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/header_height"
android:visibility="gone"
tools:visibility="visible">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/margin_12"
android:orientation="vertical">
<TextView
android:id="@+id/xxmessage"
style="@style/Typeface.Body.TextMidGrey"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lineSpacingExtra="@dimen/tfl_6"
tools:text="KJGSAHJDGJKSGDASAGDHJGAS" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="@dimen/margin_16"
android:background="@color/text_light_grey" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/button"
style="@style/Typeface.Body.Bold.White"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_16"
android:paddingBottom="@dimen/padding_12"
android:paddingTop="@dimen/padding_12"
android:background="@drawable/welcome_screen_button_selector"
android:layout_centerHorizontal="true"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/convert_points_to_vouchers"
android:textAllCaps="false" />
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
</RelativeLayout>
答案 0 :(得分:1)
使用 android:layout_width="match_parent"
和
android:gravity="center"
您的TextView
可以使用
使用此
<TextView
android:id="@+id/xxmessage"
style="@style/Typeface.Body.TextMidGrey"
android:layout_width="match_parent"
android:gravity="center"
android:layout_height="wrap_content"
android:lineSpacingExtra="@dimen/tfl_6"
tools:text="KJGSAHJDGJKSGDASAGDHJGAS" />
代替这个
<TextView
android:id="@+id/xxmessage"
style="@style/Typeface.Body.TextMidGrey"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lineSpacingExtra="@dimen/tfl_6"
tools:text="KJGSAHJDGJKSGDASAGDHJGAS" />
示例代码
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/no_vouchers_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.CardView
android:id="@+id/xxlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/header_height"
android:visibility="gone"
tools:visibility="visible">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/margin_12"
android:orientation="vertical">
<TextView
android:id="@+id/xxmessage"
style="@style/Typeface.Body.TextMidGrey"
android:layout_width="match_parent"
android:gravity="center"
android:layout_height="wrap_content"
android:lineSpacingExtra="@dimen/tfl_6"
tools:text="KJGSAHJDGJKSGDASAGDHJGAS" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="@dimen/margin_16"
android:background="@color/text_light_grey" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/button"
style="@style/Typeface.Body.Bold.White"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_16"
android:paddingBottom="@dimen/padding_12"
android:paddingTop="@dimen/padding_12"
android:background="@drawable/welcome_screen_button_selector"
android:layout_centerHorizontal="true"
android:layout_gravity="center"
android:gravity="center"
android:text="@string/convert_points_to_vouchers"
android:textAllCaps="false" />
</LinearLayout>
</LinearLayout>
</android.support.v7.widget.CardView>
</RelativeLayout>
答案 1 :(得分:0)
尝试使用此android:layout_gravity =“ center”
<TextView
android:id="@+id/xxmessage"
style="@style/Typeface.Body.TextMidGrey"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:lineSpacingExtra="@dimen/tfl_6"
tools:text="KJGSAHJDGJKSGDASAGDHJGAS" />
答案 2 :(得分:0)
在android中创建嵌套布局可能会导致performance issues泛滥。
我建议您使用
ConstraintLayout ,而不是线性布局。
ConstraintLayout
对构建响应式UI很有帮助。
使用ConstraintLayout
,您可以easily drag/drop any element并根据您的活动对其进行约束。