我在为我的应用设置背景图片时遇到问题。我有两个图像视图的线性布局。一个带有徽标和重量1,一个带有背景图像,带有重量3.我希望第二个水平居中,并使侧面垂直方向裁剪,底部水平方向裁剪。 CENTER_CROP几乎完成了这项工作,但我想要绘制我的图像的顶部。我不在乎底部。
在此配置中,垂直方向是完美的,但水平切割图像的顶部,我希望顶部始终可见。底部可以裁剪
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_margin="50dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/masters_logo"
android:id="@+id/imageView" />
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:scaleType="centerCrop"
android:src="@drawable/masters_login_background"/>
</LinearLayout>
这就是我想要实现的目标。
答案 0 :(得分:0)
如果要在登录屏幕中设置背景,则应将android:background="@drawable/masters_login_background"
属性添加到根LinearLayout
。
否则,您应该使用RelativeLayout
作为根元素,并在其中添加ImageView
作为顶部元素,如下所示:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/masters_login_background"/>
<!-- other code here -->
</RelativeLayout>
答案 1 :(得分:0)
我必须编辑ans,因为我错误地理解了你的问题。请使用以下代码。这将把你的bg img放在bg img。
上方的背景和徽标中 <LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:scaleType="centerCrop"
android:src="@drawable/masters_login_background"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_margin="50dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/masters_logo"
android:id="@+id/imageView" />
</LinearLayout>