我有ImageView需要以全高度显示。然而,在顶部我创建了包含文本和图像的LinearLayout。我希望它显示在顶部,但也想要图像适合屏幕。我在底部有线性布局,工作正常。
这是我想要在顶部显示的LinearLayout的代码。我有隐藏的操作栏
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/actionbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="@android:color/black"
android:gravity="top"
android:orientation="horizontal"
android:visibility="visible" >
<ImageView
android:id="@+id/backbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:paddingLeft="10dp"
android:src="@drawable/back_button" />
<TextView
android:id="@+id/titleofscreen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Testing"
android:textColor="#22c064"
android:textSize="18sp" />
</LinearLayout>
<ImageView
android:id="@+id/imageShown"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:scaleType="fitXY" />
</FrameLayout>
如果我没有将imageView比例类型设置为android:scaleType =&#34; fitXY&#34;然后它工作但图像不适合屏幕。
我想显示图像以适合包含文本的上方栏和下方有一些图标。但如果我制作图像scaletype =&#39; fitXY&#39;它没有显示在上面的文字。以下是截图,但我希望图像占用空间
答案 0 :(得分:1)
如果您希望图片低于actionbar
,则不应将FrameLayout
用作父母。您应该使用垂直LinearLayout
重量或'RelativeLayout&#34;。请尝试以下代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/actionbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="@android:color/black"
android:gravity="top"
android:orientation="horizontal"
android:visibility="visible" >
<ImageView
android:id="@+id/backbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:paddingLeft="10dp"
android:src="@drawable/back_button" />
<TextView
android:id="@+id/titleofscreen"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Testing"
android:textColor="#22c064"
android:textSize="18sp" />
</LinearLayout>
<ImageView
android:id="@+id/imageShown"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/actionbar"
android:layout_alignParentBottom="true"
android:scaleType="fitCenter"
/>
</RelativeLayout>
此外,我怀疑您使用fitXY
作为android:scaleType
,因为它不会保持图像的纵横比 - 因此您的图像将会变形(拉伸)。在您的情况下,您应该使用fitCenter
,但这取决于您希望如何缩放图片 - 您还可以使用centerInside
或centerCrop
进行游戏。