Android 实际设备上支持库空白屏幕的百分比
Android Percent Support Library Blank Screen on Actual Device
我尝试使用详述 here and here 的百分比支持库。它在 Android Studio 设计器中运行良好,但当我尝试将我的应用程序安装到我的 phone 中时,除了空屏幕外什么也没有显示。可能是什么问题?
编辑:
我在 gradle 文件依赖项中添加了以下行。
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.android.support:support-v4:23.0.0'
compile 'com.android.support:design:23.0.0'
compile 'com.android.support:percent:23.0.0'
这是我的片段布局:
<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="match_parent"
android:layout_height="match_parent" tools:context="org.atpms.fairfare.ReportFragment"
android:id="@+id/fragment_report" >
<ProgressBar android:id="@+id/report_progress" style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content" android:layout_height="match_parent"
android:layout_marginBottom="8dp" android:visibility="gone"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
<RelativeLayout
android:id="@+id/report_form"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/reportButton"
android:gravity="center">
<ImageView
android:id="@+id/report_background"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:src="@drawable/report"
android:adjustViewBounds="true" />
<android.support.percent.PercentRelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignTop="@+id/report_background"
android:layout_alignBottom="@+id/report_background"
android:layout_alignLeft="@+id/report_background"
android:layout_alignStart="@+id/report_background"
android:layout_alignRight="@+id/report_background"
android:layout_alignEnd="@+id/report_background">
<EditText
android:id="@+id/plateNumberField"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_widthPercent="58%"
app:layout_heightPercent="14%"
app:layout_marginTopPercent="20%"
app:layout_marginLeftPercent="36%"
android:textColor="@color/plate_number"
android:background="@null"
android:gravity="center"
android:textSize="24sp"
tools:ignore="TextFields"/>
<ImageView
android:id="@+id/meterPictureButton"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_widthPercent="12%"
app:layout_heightPercent="15.5%"
app:layout_marginTopPercent="38%"
app:layout_marginLeftPercent="84%"
android:src="@drawable/camera" />
<ImageView
android:id="@+id/meterPicture"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_widthPercent="97.2%"
app:layout_heightPercent="42%"
app:layout_marginTopPercent="55.8%"
app:layout_marginLeftPercent="1.6%"
android:scaleType="fitXY"
tools:ignore="ContentDescription" />
</android.support.percent.PercentRelativeLayout>
</RelativeLayout>
<Button
android:id="@+id/reportButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/report"
android:layout_alignParentBottom="true"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:background="@drawable/report_button"
android:textSize="20sp"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:textColor="@color/button_text"
android:textAllCaps="false"
android:gravity="center"
tools:ignore="UnusedAttribute" />
</RelativeLayout>
</RelativeLayout>
更新:
好的,我已经使用 setContentView
从 Activity
扩展了完全相同的布局,并且效果很好。似乎只有当我尝试在 Fragment
布局中使用 PercentRelativeLayout
时才会出现问题。 LayoutInflater
似乎没有正确地使用 PercentRelativeLayout
元素扩充布局,但我仍然不确定并继续调查。
这不是一个很好的解决方案,但我通过删除片段并使其成为一个完整的 activity.
解决了这个问题
我尝试使用详述 here and here 的百分比支持库。它在 Android Studio 设计器中运行良好,但当我尝试将我的应用程序安装到我的 phone 中时,除了空屏幕外什么也没有显示。可能是什么问题?
编辑:
我在 gradle 文件依赖项中添加了以下行。
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.android.support:support-v4:23.0.0'
compile 'com.android.support:design:23.0.0'
compile 'com.android.support:percent:23.0.0'
这是我的片段布局:
<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="match_parent"
android:layout_height="match_parent" tools:context="org.atpms.fairfare.ReportFragment"
android:id="@+id/fragment_report" >
<ProgressBar android:id="@+id/report_progress" style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content" android:layout_height="match_parent"
android:layout_marginBottom="8dp" android:visibility="gone"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
<RelativeLayout
android:id="@+id/report_form"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/reportButton"
android:gravity="center">
<ImageView
android:id="@+id/report_background"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:src="@drawable/report"
android:adjustViewBounds="true" />
<android.support.percent.PercentRelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignTop="@+id/report_background"
android:layout_alignBottom="@+id/report_background"
android:layout_alignLeft="@+id/report_background"
android:layout_alignStart="@+id/report_background"
android:layout_alignRight="@+id/report_background"
android:layout_alignEnd="@+id/report_background">
<EditText
android:id="@+id/plateNumberField"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_widthPercent="58%"
app:layout_heightPercent="14%"
app:layout_marginTopPercent="20%"
app:layout_marginLeftPercent="36%"
android:textColor="@color/plate_number"
android:background="@null"
android:gravity="center"
android:textSize="24sp"
tools:ignore="TextFields"/>
<ImageView
android:id="@+id/meterPictureButton"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_widthPercent="12%"
app:layout_heightPercent="15.5%"
app:layout_marginTopPercent="38%"
app:layout_marginLeftPercent="84%"
android:src="@drawable/camera" />
<ImageView
android:id="@+id/meterPicture"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_widthPercent="97.2%"
app:layout_heightPercent="42%"
app:layout_marginTopPercent="55.8%"
app:layout_marginLeftPercent="1.6%"
android:scaleType="fitXY"
tools:ignore="ContentDescription" />
</android.support.percent.PercentRelativeLayout>
</RelativeLayout>
<Button
android:id="@+id/reportButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/report"
android:layout_alignParentBottom="true"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:background="@drawable/report_button"
android:textSize="20sp"
android:paddingTop="8dp"
android:paddingBottom="8dp"
android:textColor="@color/button_text"
android:textAllCaps="false"
android:gravity="center"
tools:ignore="UnusedAttribute" />
</RelativeLayout>
</RelativeLayout>
更新:
好的,我已经使用 setContentView
从 Activity
扩展了完全相同的布局,并且效果很好。似乎只有当我尝试在 Fragment
布局中使用 PercentRelativeLayout
时才会出现问题。 LayoutInflater
似乎没有正确地使用 PercentRelativeLayout
元素扩充布局,但我仍然不确定并继续调查。
这不是一个很好的解决方案,但我通过删除片段并使其成为一个完整的 activity.
解决了这个问题