How to use layout_aspectRatio in the PercentRelativeLayout?

送分小仙女□ 提交于 2019-12-04 23:55:09

Now with both PercentFrameLayout and PercentRelativeLayout being deprecated in 26.0.0, you can start using ConstraintLayout.

This blog article explains how to achieve a 16:9 aspect ratio for ImageView using ConstraintLayout, but it can be applied to any view.

It appears you're using the wrong dependency in an attempt to include the Percent Support Library.

The correct one (and latest version) is:

com.android.support:percent:23.1.0

In other words, the declared dependency should look like this in your gradle file:

compile 'com.android.support:percent:23.1.0'

With the correct dependency you still had the warn

'layout_height' should be defined

I used android:layout_height="0dp" or android:layout_width="0dp" to avoid it.

           <View
            android:layout_height="0dp"
            android:layout_width="0dp"
            app:layout_aspectRatio="75%"
            app:layout_widthPercent="100%"
             />

you can even use android:layout_height="wrap_content" in case of the content will be bigger that the layout_aspectRatio

There is a g+ post here: https://plus.google.com/+AndroidDevelopers/posts/ZQS29a5yroK that explains how to use this in some depth.

In the comments there's also a discussion about the layout_width/height warning. A Lint filter will be added in a future Android Studio version, but until then you can add a <!-- suppress AndroidDomInspection --> to suppress the warning, or just ignore it.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!