如何实现一个android:不拉伸的背景?
我找到了这个伟大的主题,描述了如何吃蛋糕并且也吃了#34;,即使用图像代替Button而不是ImageButton(它不允许SetText(),调整大小等)。
这是通过使用View属性实现的:
android:background="@drawable/bgimage"
唯一的问题是它会拉伸图像以适应按钮大小。
没有硬编码固定按钮大小(以像素为单位!),有没有办法告诉Android不要拉伸背景图像并裁剪或填充它?
11个解决方案
254 votes
您可以创建一个xml位图并将其用作视图的背景。 要防止拉伸,可以指定android:gravity属性。
例如:
android:src="@drawable/dvdr"
android:tileMode="disabled" android:gravity="top" >
您可以使用许多选项来自定义图像的渲染
[http://developer.android.com/guide/topics/resources/drawable-resource.html#Bitmap]
Santosh answered 2019-08-09T09:33:10Z
27 votes
如果你不想让它伸展,你应该使用ImageView。背景图像将始终拉伸以适合视图。您需要将其设置为Drawable以强制图像方面到对象。
否则,如果你坚持使用Button的想法,那么你需要在按钮中强制缩放以防止图像拉伸。
比如你的
OnCreate(Bundle bundle) {
//set content layout, etc up here
//now adjust button sizes
Button B = (Button) findViewById(R.id.somebutton);
int someDimension = 50; //50pixels
B.setWidth(someDimension);
B.setHei