我想制作一个这样的按钮,但我不能
因为当我将它转换为9patch时,按钮的行是缩放的。但我想重复并用线条填满按钮
这是原始图像
我希望是这样的
但它看起来像这样:(
答案 0 :(得分:1)
创建位图资源并重复纹理。
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ab_texture_tile_apptheme"
android:tileMode="repeat" />
答案 1 :(得分:1)
缩放部分内容时,只能使用9patch。根据您的示例图片,您引用因{9patch而导致的lines of button is scaling
。
解决方案
不要使用9patch,只需将其设置为欲望视图中的背景Drawable / imageSource
答案 2 :(得分:1)
试试这个:
final float r = 32;
float[] outerRadii = {
r, r, r, r, r, r, r, r
};
ShapeDrawable d = new ShapeDrawable(new RoundRectShape(outerRadii, null, null));
ShaderFactory factory = new ShaderFactory() {
@Override
public Shader resize(int width, int height) {
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
Shader shader = new BitmapShader(bitmap, TileMode.REPEAT, TileMode.REPEAT);
Matrix localM = new Matrix();
localM.postRotate(45);
shader.setLocalMatrix(localM);
return shader;
}
};
d.setShaderFactory(factory);
someView.setBackgroundDrawable(d);