Android裁剪背景

Seb*_*wak 28 android background crop drawable

我的LinearLayout宽度设置为fill_parent和高度为wrap_content.现在我想从png文件中给它一个背景,但是以传统方式执行它会导致LinearLayout调整大小以显示整个背景而不是裁剪其他部分.

如何设置背景,LinearLayout以便不调整大小?

谢谢

Seb*_*wak 31

似乎只有使用ImageView和相应地设置scaleType参数才能实现这样的事情.一个快速的解决方法是使用FrameLayout,把ImageView根据与透明背景的另一种布局.

码:

<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop"
        android:src="@drawable/background" />

</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

  • 这对我来说已经足够了. (16认同)
  • 这没有提供足够的细节 (5认同)
  • 所以编辑答案包括代码请:) (3认同)

Ern*_*son 6

背景位图的默认行为是完全填充容器,并在需要时增大容器的水平和垂直大小.解决方案是创建可绘制的位图资源并更改重力.

检查以下链接并查找可能的重力值.您的视图应该只引用可绘制资源,您应该没问题.

http://developer.android.com/guide/topics/resources/drawable-resource.html#Bitmap