我正在Android Studio中制作应用程序,我需要一个按钮才能显示在手机屏幕的中央。
我见过很多关于如何将按钮居中的例子,但除此之外,一旦它位于中心,按钮的宽度必须是屏幕宽度的60%。
欢迎任何想法,建议或例子。
由于
答案 0 :(得分:3)
@ MishaAkopov的答案很好,但我将使用线性布局提供单独的解决方案。
通过将布局的权重设置为10并将按钮的权重设置为6,按钮将是布局宽度的60%。此外,您需要将LinearLayout
的重力设置为center或center_horizontal以确保按钮居中。
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:weightSum="10">
<Button
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="6"
android:text="My Button"/>
</LinearLayout>
答案 1 :(得分:2)
您应该尝试ConstraintLayout
。它的作用是从左侧(20%)和右侧(80%)添加两个Guidlines,并将按钮的左右限制设置为这些指导:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintEnd_toStartOf="@+id/guideline2"
app:layout_constraintStart_toStartOf="@+id/guideline" />
<android.support.constraint.Guideline
android:id="@+id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.2" />
<android.support.constraint.Guideline
android:id="@+id/guideline2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.8" />
</android.support.constraint.ConstraintLayout>