工具栏内容在预览模式下看起来与模拟器不同

时间:2017-02-13 08:27:31

标签: android android-layout android-custom-view android-toolbar

我正在尝试将自定义工具栏实现到我的应用程序中。我希望左边有1个图像和1个textview,中间有1个textview,最后有1个textview。在预览模式下,它看起来像预期的: enter image description here 但是,当我在虚拟设备上启动应用程序时,所有视图都与开头对齐: enter image description here

我的代码:

<android.support.v7.widget.Toolbar
        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:id="@+id/toolbar"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:minHeight="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        tools:context=".OptionListActivity">
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center_vertical"
            android:weightSum="3">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:srcCompat="@android:drawable/btn_star_big_on"
                android:id="@+id/imageView" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/nameSurname"
                android:text="June Office"
                android:textColor="@android:color/white"
                android:textAlignment="viewStart"
                android:layout_weight="1"
                android:layout_marginStart="5dp" />

            <TextView
                android:text="Dec 19, 12:47 PM"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/dateTime"
                android:textColor="@android:color/white"
                android:textAlignment="center"
                android:layout_weight="1"/>

            <TextView
                android:text="415-555-1212"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/number"
                android:textColor="@android:color/white"
                android:textAlignment="viewEnd"
                android:layout_weight="1"/>
        </LinearLayout>

    </android.support.v7.widget.Toolbar>

我需要更改以获得预期结果?也许有人可以解释我为什么它在预览模式下看起来很好而在模拟器上不正确......

2 个答案:

答案 0 :(得分:0)

使用以下代码替换您的代码,这可能会对您有所帮助

 <android.support.v7.widget.Toolbar
        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:id="@+id/toolbar"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:minHeight="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        tools:context=".OptionListActivity">
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center_vertical"
            android:weightSum="3">

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight=1>

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                app:srcCompat="@android:drawable/btn_star_big_on"
                android:id="@+id/imageView" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/nameSurname"
                android:text="June Office"
                android:textColor="@android:color/white"
                android:textAlignment="viewStart"
                android:layout_marginStart="5dp" />

         </LinearLayout>

            <TextView
                android:text="Dec 19, 12:47 PM"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:id="@+id/dateTime"
                android:textColor="@android:color/white"
                android:textAlignment="center"
                android:layout_weight="1"/>

            <TextView
                android:text="415-555-1212"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:id="@+id/number"
                android:textColor="@android:color/white"
                android:textAlignment="viewEnd"
                android:layout_weight="1"/>
        </LinearLayout>

    </android.support.v7.widget.Toolbar>

答案 1 :(得分:0)

问题解决了:在其他xml文件中我需要将layout_width从wrap_content更改为match_parent ...感谢您试图帮助我......