我的目标很简单:在imageView中拥有16/9比例的图像。我使用尺寸为16x9的png图像。我的应用程序有两种可能性:
第一个可以正常使用这个布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/welcomeRootLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<FrameLayout
android:id="@+id/welcomePilotingFrame"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:contentDescription="@null"
android:scaleType="fitXY"
android:src="@drawable/black_16_9e" />
</FrameLayout>
<!-- Other stuff that aren't relevant -->
</RelativeLayout>
这给了我想要的东西:我的红色角落图像被调整大小
现在有趣的部分开始了:风景:这是我的布局(对称的肖像画):
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/welcomeLinearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2" >
<FrameLayout
android:id="@+id/welcomePilotingFrame"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#ff00ff00" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:contentDescription="@null"
android:scaleType="fitXY"
android:src="@drawable/black_16_9e_border" />
</FrameLayout>
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/welcomePilotingFrame" />
</RelativeLayout>
<!-- Other stuff that aren't relevant -->
</LinearLayout>
现在,imageView明白它必须是它的所有父级高,但不会调整其宽度,因此不能保持我的16/9比率!
我错过了什么吗?
答案 0 :(得分:0)
将第二个framelayout的layout_width更改为match_parent。 scale-type = fitxy也会改变图像的纵横比。将其更改为FIT_START