对齐控件以在屏幕上水平居中显示

时间:2018-04-09 17:46:09

标签: android android-layout

我尝试对齐图像视图,使其显示在屏幕的中央,然后是两个按钮,它们显示在图像视图的下方。

然而,我无法让它发挥作用。我尝试过很多不同的想法,但都没有。

这样做有好办法吗?

谢谢!

以下是正在进行的截图:

enter image description here

这是我的xml布局:

<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:background="?android:attr/colorForeground"
tools:context=".MainActivity">

<LinearLayout
    android:id="@+id/linearLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="64dp"
    android:orientation="vertical"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <ImageView
        android:id="@+id/imgSurf"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:maxHeight="500px"
        android:maxWidth="500px"
        android:minHeight="500px"
        android:minWidth="500px" />

    <LinearLayout
        android:id="@+id/LinearLayout02"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_gravity="center">

        <Button
            android:id="@+id/btnStart"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:gravity="center_vertical|center_horizontal"
            android:text="Start"
            android:textSize="12dp" />

        <Button
            android:id="@+id/btnStop"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:gravity="center_vertical|center_horizontal"
            android:text="Stop"
            android:textSize="12dp" />
    </LinearLayout>
</LinearLayout>


</android.support.constraint.ConstraintLayout>

1 个答案:

答案 0 :(得分:1)

检查此代码,但您应该直接使用ConstraintLayout,而不使用嵌套布局。另外,您应该使用dp代替px

   <?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"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:background="?android:attr/colorForeground"
        tools:context=".MainActivity">

        <LinearLayout
            android:id="@+id/linearLayout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent">

            <ImageView
                android:id="@+id/imgSurf"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:maxHeight="500px"
                android:maxWidth="500px"
                android:minHeight="500px"
                android:minWidth="500px" />

            <LinearLayout
                android:id="@+id/LinearLayout02"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_gravity="center"
                android:gravity="center">

                <Button
                    android:id="@+id/btnStart"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="left"
                    android:gravity="center_vertical|center_horizontal"
                    android:text="Start"
                    android:textSize="12dp" />

                <Button
                    android:id="@+id/btnStop"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right"
                    android:gravity="center_vertical|center_horizontal"
                    android:text="Stop"
                    android:textSize="12dp" />
            </LinearLayout>
        </LinearLayout>


    </android.support.constraint.ConstraintLayout>

查看此视频 ConstraintLayout