约束布局:按钮高度与预览不匹配

时间:2016-11-16 00:41:32

标签: android

Android Studio中的预览是:

enter image description here

按钮高度看起来很好。

然而,手机中的同一页是:

enter image description here

按钮的高度与我在Android Studio预览中看到的不同。为什么呢?

这是xml:

activity_chat.xml:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    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"
    android:fitsSystemWindows="true"
    tools:context="ocm.my.chat.View.ChatActivity">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        >

        <android.support.v7.widget.Toolbar
            android:id="@+id/chat_toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            android:title="fsdasdfsda"
            android:layout_weight="1"/>

    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_chat"/>


</android.support.design.widget.CoordinatorLayout>

content_chat.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"
                                             app:layout_behavior="@string/appbar_scrolling_view_behavior"
    >


    <EditText
        android:id="@+id/msg_type"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:hint="Input message"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toLeftOf="@+id/btn_chat_send"
        app:layout_constraintTop_toBottomOf="@+id/list_msg"
        tools:layout_constraintBottom_creator="1"
        tools:layout_constraintLeft_creator="1"
        tools:layout_constraintRight_creator="1"
        tools:layout_constraintTop_creator="1"/>

    <Button
        android:id="@+id/btn_chat_send"
        android:layout_height="0dp"
        android:layout_marginBottom="8dp"
        android:layout_marginTop="8dp"
        android:background="@color/background_floating_material_dark"
        android:text="Send"
        android:textColor="@color/background_material_light"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/list_msg"
        tools:layout_conversion_absoluteHeight="47dp"
        tools:layout_conversion_absoluteWidth="106dp"
        tools:layout_conversion_absoluteX="262dp"
        tools:layout_conversion_absoluteY="447dp"
        android:layout_width="106dp"/>

    <ListView
        android:id="@+id/list_msg"
        android:layout_width="0dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        android:divider="@null"
        android:listSelector="@android:color/transparent"
        android:transcriptMode="alwaysScroll"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:layout_constraintLeft_creator="1"
        tools:layout_constraintRight_creator="1"
        android:layout_height="450dp"/>

</android.support.constraint.ConstraintLayout>

加成

我发现如果我使用手机和我朋友的手机按钮大小异常,那么它在模拟器上运行正常。

1 个答案:

答案 0 :(得分:0)

ListView的高度是固定的,按钮的高度取决于ListView的高度。因此,在不同的屏幕中,它将以不同的方式显示。