我想在我的应用中将图片显示为背景。现在我在android:background="@drawable/background"
中使用了这句话:<LineraLayout>
。这是.xml
代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="overbit.user.MainActivity"
android:background="@drawable/background">
</LinearLayout>
现在我得到了这个输出:
但我想这样:
也许有人可以帮助我。感谢。
答案 0 :(得分:12)
有BitmapDrawable,允许这样做。首先,您需要创建一个可绘制资源,如下所示(让它成为项目资源res/drawable/mybg.xml
中的文件):
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/background"
android:gravity="center" />
然后将其指定为布局中的背景资源:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="overbit.user.MainActivity"
android:background="@drawable/mybg">
</LinearLayout>
答案 1 :(得分:4)
您可以使用BitmapRegionDecoder完成您要执行的操作。
来自文档:
BitmapRegionDecoder可用于解码矩形区域 图片。 BitmapRegionDecoder在原始时特别有用 图像很大,你只需要部分图像。
它允许您非常轻松地解码特定位图的Rect区域,您唯一需要做的就是计算Rect区域以相对于Bitmap进行解码。
答案 2 :(得分:3)
你需要在photoshop或其他东西中改变图像的大小以达到预期的效果(由于Android智能手机的各种屏幕尺寸,这仍然非常困难)。解决方法是将父布局更改为Relativelayout,然后使用imageview显示如下图片:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" xmlns:ads="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="match_parent" //make sure its match parent android:layout_height="match_parent"// and this one also android:src="@drawable/yourBackgroundImage" android:scaleType="..."/> <LinearLayout>put your childviews here</LinearLayout>
android:scaleType 有4-5个选项...试验它们,直到得到你想要的结果。另请注意,您需要使用 android:src 而不是imageview的 android:background 属性
答案 3 :(得分:0)
在android中,ImageView的位置由图像的左上角决定。我假设x方向是从起点开始宽度的1/3。现在我们可以设置枢轴了。基本上,枢轴点的位置是视图将围绕其旋转和缩放的位置。
duplicated()
现在我们已经设置了枢轴,我们可以使用缩放类型来适应图像。
int displacementX = ImageView.getWidth() / 3;
int displacementY = 10;
imgview.setPivotX((float)displacementX);
imgview.setPivotY((float)displacementY);