我刚刚实施了PercentRelativeLayout
。我已将compile 'com.android.support:percent:24.2.0'
添加到gradle中,因此Android Studio至少会识别该视图。并添加了Google API。
我有渲染问题。在模拟器中,我的显示器工作正常。安装在运行Android 4ish的旧手机上,会出现TextViews,但不会显示图像视图。
在预览渲染中(在设计选项卡中),当我切换到API 23时,ImageView会显示,而不是API 24.
我觉得这只是工作。任何已知的修复程序?不幸的是,视图对于扩展我的布局至关重要。
编辑:预览突然再次与几个重新启动的android studio一起工作。没有改变别的。
布局工作在预览中一直回到API 16但仍然无法在手机上工作。 ImageViews没有显示。
下面的XML
<LinearLayout 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="fill_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.example.y"
tools:showIn="@layout/app_bar_main"
android:background="#FFF"
android:weightSum="1"
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/scrollView"
android:scrollIndicators="top">
<android.support.percent.PercentRelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="This text appears correctly"
android:textSize="28sp"
android:id="@+id/textMainTitle"
android:layout_gravity="center"
android:layout_alignParentTop="true"
android:textColor="#ffffff"
android:singleLine="true"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="As does this text"
android:id="@+id/textMainSubTitle"
android:layout_gravity="center_horizontal"
android:layout_below="@id/textMainTitle"
/>
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/btnIntro"
android:src="@drawable/button1" //DOES NOT APPEAR IN PHONE
app:layout_widthPercent="30%"
app:layout_heightPercent="25%"
android:layout_below="@id/textMainSubTitle"
android:layout_marginStart="10dp"
android:layout_marginLeft="10dp" />
</android.support.percent.PercentRelativeLayout>
</ScrollView>
</LinearLayout>
答案 0 :(得分:2)
终于弄明白了。问题实际上在XML中。在此发布以供参考,希望有人会在将来发现它有用。
问题来自设置layout_heightPercent
和layout_widthPercent
。由于某种原因,这不允许显示有问题的视图。我不认为它与缩放宽高比有任何关系,因为按钮也存在问题(没有宽高比可以维护。)
但是,如果您对PercentRelativeLayout存在可见性问题,请参阅下文。
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/btnIntro"
android:src="@drawable/button1"
app:layout_widthPercent="30%" // MUST SET ONE
app:layout_heightPercent="25%" // OR OTHER NOT BOTH
android:layout_below="@id/textMainSubTitle"
android:layout_marginStart="10dp"
android:layout_marginLeft="10dp" />
答案 1 :(得分:0)
受BR89的启发,我的问题的解决方案实际上是使用&#34; android:src&#34;而不是&#34; app:srcCompat&#34;并指定&#34; 0dp&#34; on&#34; android:layout_width&#34;
但同时放置&#34; app:layout_widthPercent&#34;和&#34; app:layout_heightPercent&#34;但是我的物理设备上没有任何问题。
<android.support.percent.PercentRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splash">
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
app:layout_marginTopPercent="25%"
app:layout_marginLeftPercent="25%"
android:src="@drawable/logo"/>
</android.support.percent.PercentRelativeLayout>