我正在使用android 3.0.1。我一直在使用Memu模拟器测试我的应用程序。一切都很好,直到我在Android设备上测试并且视图不适合屏幕。这是设备上出现的屏幕截图,这是一款小型三星手机。
这就是android studio编辑器中的内容
这是我的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>
答案 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,并将所有其他内容推离屏幕。