在android studio中为什么布局宽度matchparent会自动更改为368dp?

时间:2017-05-18 10:56:21

标签: android-studio-2.1

我正在使用android studio做一个项目。在android studio中,当我将layout width修改为matchparent时,它会自动更改为368dp。我需要layoutwidth作为matchparent,但默认情况下会更改。

为什么?

请帮助我解决这个问题。

3 个答案:

答案 0 :(得分:2)

我有同样的问题,我正在使用ConstraintLayout。所有我必须做的安卓工作室停止重写我的宽度是为了确保app:layout_constraintRight_toRightOf="parent"设置为我的情况在这里我设置为父

<android.support.constraint.ConstraintLayout
    android:id="@+id/activity_content"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <!--header row-->
    <include
        android:id="@+id/content_header"
        layout="@layout/adapter_fish_row_header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        android:layout_marginLeft="4dp"
        android:layout_marginTop="8dp"
        android:layout_marginStart="4dp"
        android:layout_marginRight="4dp"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintHorizontal_bias="0.0" />

    <!-- The main content view -->
    <android.support.v7.widget.RecyclerView
        android:id="@+id/fish_list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scrollbars="vertical"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/content_header"
        android:layout_marginLeft="4dp"
        android:layout_marginTop="8dp"
        android:layout_marginStart="4dp"
        android:layout_marginRight="4dp"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintHorizontal_bias="0.0" />

    <Button
        android:id="@+id/form_submit_button"
        style="@style/form_submit_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="4dp"
        android:layout_marginLeft="4dp"
        android:layout_marginRight="4dp"
        android:layout_marginStart="4dp"
        android:background="@color/primary"
        android:text="@string/btn_next_page"
        android:textColor="@color/text_primary"
        app:layout_constraintHorizontal_bias="0.496"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        android:layout_marginTop="8dp"
        app:layout_constraintTop_toBottomOf="@+id/fish_list" />


</android.support.constraint.ConstraintLayout>

答案 1 :(得分:0)

可能是因为您的父母之一是ConstraintLayout。

https://developer.android.com/training/constraint-layout/index.html

如果您不想处理约束,只需使用FrameLayout或类似内容替换ConstraintLayout。

答案 2 :(得分:0)

替换&#34; match_parent&#34;用&#34; 0dp&#34;并向ConstraintLayout添加约束。

例如,一个贴在底部的高度,高度为50px,宽度与父对象相匹配:

<Button
    android:layout_width="0dp"
    android:layout_height="50dp"
    android:background="@color/azzurro"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintBottom_toBottomOf="parent"
    android:text="MY BUTTON"
/>