Android 3.0.1编辑器与设备上呈现的内容不一样

时间:2018-01-08 12:56:23

标签: android xml android-studio

我正在使用android 3.0.1。我一直在使用Memu模拟器测试我的应用程序。一切都很好,直到我在Android设备上测试并且视图不适合屏幕。这是设备上出现的屏幕截图,这是一款小型三星手机。 enter image description here

这就是android studio编辑器中的内容

enter image description here

这是我的xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="wrap_content"
    android:layout_height="wrap_content"
    tools:context="com.example.user.eafya.activities.MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:id="@+id/linearmain1"
        android:layout_height="240dp"
        android:background="@drawable/blackbg"
        android:orientation="vertical">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Wallet Balance: 4,500"
            android:textColor="#ffff"
            android:layout_gravity="end"/>




        <de.hdodenhof.circleimageview.CircleImageView
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:id="@+id/patient_profile_pic"
            android:layout_width="80dp"
            android:layout_height="100dp"
            android:layout_gravity="center|center_horizontal"
            android:layout_marginTop="50dp"
            android:background="@drawable/itemsbg"
            android:src="@drawable/me"
            app:civ_border_width="1dp"
            app:civ_border_color="#fc0303"/>

        <TextView
            android:id="@+id/patient_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:padding="2dp"
            android:text="Francis Kamau"
            android:textColor="@color/material_purple_50"
            android:textSize="25sp" />

        <TextView
            android:id="@+id/patient_id"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:padding="2dp"
            android:text="Ke-q980-sy"
            android:textColor="@color/material_purple_50"
            android:textSize="15sp" />


    </LinearLayout>






    <LinearLayout
        android:id="@+id/linearmain2"
        android:layout_below="@+id/linearmain1"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:background="@drawable/blackbgedit"
        android:orientation="horizontal"
        android:layout_marginBottom="1dp"
        android:layout_marginTop="1dp"

        >

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical"
            android:paddingLeft="8dp">

            <TextView
                android:id="@+id/totalvisitslabel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="Total Visits"
                android:textColor="@color/material_deep_purple_50"
                android:textSize="16sp" />

            <TextView
                android:id="@+id/totalvisitsreal"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="4"
                android:textColor="@color/material_deep_purple_50"
                android:textSize="16sp" />


        </LinearLayout>

        <View
            android:layout_width="1dp"
            android:layout_height="50dp"
            android:background="#666666"
            ></View>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical"
            android:paddingLeft="8dp">

            <TextView
                android:id="@+id/nextappointmentlabel"
                android:paddingLeft="16dp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="Next Appointment"
                android:textColor="@color/material_deep_purple_50"
                android:textSize="16sp" />

            <TextView
                android:id="@+id/nextappointmentreal"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="09/09/2017"
                android:textColor="@color/material_deep_purple_50"
                android:textSize="16sp" />


        </LinearLayout>

    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:orientation="horizontal"
        android:background="#666666"
        android:layout_below="@id/linearmain2"
        >

    </View>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:id="@+id/linearmain3"
        android:layout_below="@id/linearmain2">

     <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@drawable/blackbgedit"
        android:orientation="horizontal">
        //This has circular image views of diffrent items in the first row
        //block [1,1]
        <LinearLayout
            android:paddingTop="25dp"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical">

            <de.hdodenhof.circleimageview.CircleImageView
                xmlns:app="http://schemas.android.com/apk/res-auto"
                android:id="@+id/appointment"
                android:onClick="goToAppointment"
                android:layout_width="56dp"
                android:layout_height="56dp"
                android:layout_marginTop="40dp"
                android:layout_gravity="center|center_vertical"
                android:background="@drawable/itemsbg"
                android:src="@drawable/appointment"
                app:civ_border_width="1dp"
                app:civ_border_color="#fc0303"/>

            <TextView
                android:id="@+id/patient_appointment"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:padding="2dp"
                android:text="Appointments"
                android:textColor="@color/material_purple_50"
                android:textSize="15sp" />





        </LinearLayout>

        <View
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:layout_gravity="center_vertical"
            android:visibility="visible"
            android:background="#666666"

            ></View>

        //block[1,2]
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:paddingTop="25dp"
            android:orientation="vertical">

            <de.hdodenhof.circleimageview.CircleImageView
                xmlns:app="http://schemas.android.com/apk/res-auto"
                android:id="@+id/profile_image"
                android:layout_width="56dp"
                android:layout_height="56dp"
                android:layout_gravity="center|center_horizontal"
                android:layout_marginTop="40dp"
                android:background="@drawable/itemsbg"
                android:src="@drawable/user_icon"
                app:civ_border_width="1dp"
                app:civ_border_color="#fc0303"/>

            <TextView
                android:id="@+id/patient_clinical_history"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:padding="2dp"
                android:text="Clinical History"
                android:textColor="@color/material_purple_50"
                android:textSize="15sp" />

        </LinearLayout>

        <View
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:layout_gravity="center_vertical"
            android:background="#666666"
            ></View>

        //block[1,3]
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical"
            android:paddingTop="25dp">

            <de.hdodenhof.circleimageview.CircleImageView
                xmlns:app="http://schemas.android.com/apk/res-auto"
                android:id="@+id/pic_allergies"
                android:layout_width="56dp"
                android:layout_height="56dp"
                android:layout_gravity="center|center_horizontal"
                android:layout_marginTop="40dp"
                android:background="@drawable/itemsbg"
                android:src="@drawable/allergy"
                android:onClick="goToAllergies"
                app:civ_border_width="1dp"
                app:civ_border_color="#fc0303"/>

            <TextView
                android:id="@+id/patient_allergies"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:padding="2dp"
                android:text="Allergies"
                android:textColor="@color/material_purple_50"
                android:textSize="15sp" />


        </LinearLayout>


    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:orientation="horizontal"
        android:background="#666666"
       >

    </View>


    //This is where the second row of main items starts

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@drawable/blackbgedit"
        android:orientation="horizontal">

        //block[2,1]

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical"
            android:paddingTop="25dp">

            <de.hdodenhof.circleimageview.CircleImageView
                xmlns:app="http://schemas.android.com/apk/res-auto"
                android:id="@+id/pic_wallet"
                android:layout_width="56dp"
                android:layout_height="56dp"
                android:layout_gravity="center|center_horizontal"
                android:layout_marginTop="40dp"
                android:background="@drawable/itemsbg"
                android:src="@drawable/wallet1"
                android:onClick="goToWallet"
                app:civ_border_width="1dp"
                app:civ_border_color="#fc0303"/>

            <TextView
                android:id="@+id/patient_wallet"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:padding="2dp"
                android:text="Wallet"
                android:textColor="@color/material_purple_50"
                android:textSize="15sp" />

        </LinearLayout>

        <View
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:layout_gravity="center_vertical"
            android:background="#666666"
            ></View>

        //block[2,2]
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical"
            android:paddingTop="25dp">

            <de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto"
                android:id="@+id/pic_ambulance"
                android:layout_width="56dp"
                android:layout_height="57dp"
                android:layout_gravity="center|center_horizontal"
                android:layout_marginTop="40dp"
                android:background="@drawable/itemsbg"
                android:src="@drawable/ambulance1"
                app:civ_border_color="#fc0303"
                app:civ_border_width="1dp" />

            <TextView
                android:id="@+id/patient_ambulance"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:padding="2dp"
                android:text="Ambulance"
                android:textColor="@color/material_purple_50"
                android:textSize="15sp" />



        </LinearLayout>

        <View
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:layout_gravity="center_vertical"
            android:background="#666666"
           ></View>

        //block[2,3]

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="vertical"
            android:paddingTop="25dp">


            <de.hdodenhof.circleimageview.CircleImageView
                xmlns:app="http://schemas.android.com/apk/res-auto"
                android:id="@+id/pic_tips"
                android:layout_width="56dp"
                android:layout_height="56dp"
                android:layout_gravity="center|center_horizontal"
                android:layout_marginTop="40dp"
                android:background="@drawable/itemsbg"
                android:src="@drawable/tips1"
                app:civ_border_width="1dp"
                app:civ_border_color="#fc0303"/>

            <TextView
                android:id="@+id/patient_tips"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:padding="2dp"
                android:text="Medical Tips"
                android:textColor="@color/material_purple_50"
                android:textSize="15sp" />




        </LinearLayout>




    </LinearLayout>
    </LinearLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

对于linearmain3等下的每个方框:

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:gravity="center" <---- this will center the content in the boxes, regardless of how tall or short they are
        android:background="@drawable/blackbgedit"
        android:orientation="horizontal">
        <LinearLayout
            android:paddingTop="25dp" <--- take this line out 
            android:layout_width="0dp"
            android:layout_height="wrap_content" <--- change from match_parent 
            android:layout_weight="1"
            android:orientation="vertical">
           <de.hdodenhof.circleimageview.CircleImageView ... 

你可能会发现,因为你硬编码linearmain1的高度仍然看起来不那么好。我建议使用layout_weight使其在不同的屏幕尺寸上看起来更好。

答案 1 :(得分:0)

问题在于我们有这条线的父线性布局;

android:background="@drawable/blackbg"

这个可绘制的项目是一个高度很大的xml,并将所有其他内容推离屏幕。