PercentRelativeLayout
のビューで16:9のアスペクト比を達成しようとしています。
だから私はこの行をbuild.gradleファイルに入れました:_compile 'com.Android.support:design:23.0.1'
_
私はこのレイアウトを使用します:
_<Android.support.percent.PercentRelativeLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<ImageView
Android:layout_width="match_parent"
app:layout_aspectRatio="178%"
Android:scaleType="centerCrop"/>
</Android.support.percent.PercentRelativeLayout>
_
問題:
ImageView
に対して_'layout_height' should be defined
_で警告します。Error:(15) No resource identifier found for attribute 'layout_aspectRatio'
。では、何が問題なのですか?
PercentFrameLayoutとPercentRelativeLayoutの両方が26.0.0で非推奨になったので、 ConstraintLayout の使用を開始できます。
この ブログ記事 は、ConstraintLayoutを使用してImageViewのアスペクト比を16:9にする方法を説明していますが、どのビューにも適用できます。
正しい依存関係であなたはまだ警告を持っていました
'layout_height'を定義する必要があります
それを避けるためにAndroid:layout_height = "0dp"またはAndroid:layout_width = "0dp"を使用しました。
<View
Android:layout_height="0dp"
Android:layout_width="0dp"
app:layout_aspectRatio="75%"
app:layout_widthPercent="100%"
/>
コンテンツがlayout_aspectRatioよりも大きくなる場合は、Android:layout_height = "wrap_content"を使用することもできます。
パーセントサポートライブラリ を含めようとして、間違った依存関係を使用しているようです。
正しいもの(および最新バージョン)は次のとおりです。
com.Android.support:percent:23.1.0
つまり、宣言された依存関係は、gradleファイルでは次のようになります。
compile 'com.Android.support:percent:23.1.0'
ここにg +の投稿があります: https://plus.google.com/+AndroidDevelopers/posts/ZQS29a5yroK これをある程度深く使用する方法を説明しています。
コメントには、layout_width/height警告についての説明もあります。 Lintフィルターは将来Android Studioバージョンで追加される予定ですが、それまでは<!-- suppress AndroidDomInspection -->
を追加して警告を抑制するか、無視することができます。