如何在 android 中制作可水平拉伸的背景
How do I make a horizontally stretchable background in android
我想制作这样的按钮背景
因此,当内容变长时,背景只会从中心区域拉伸,圆形边保持圆形。
我尝试制作一个没有垂直拉伸区域的 9 补丁,但是圆形的边变成了不同尺寸的椭圆形,如下图所示。
当我在中心指定一个垂直拉伸区域时,背景变成了我不希望的样子。这是一个带圆角的正方形。
我还得说,这个背景基本上是一个粉红色的边框,里面和外面都有一个粉红色的阴影。我找不到用 android drawable 来实现它的方法,因为没有有效的方法来使用它来获得良好的阴影效果
我想不出这样做的干净解决方案。请帮助我。
在 xml 可绘制对象中使用矩形形状并保持半径最大。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="3dp"
android:color="#A5A5A5" />
<corners android:radius="999dp" />
</shape>
好的,我刚刚制作了一个扩展 FrameLayout
的自定义视图,它具有可自定义的彩色阴影和描边。
您也可以使用它在中心绘制内部背景。
您可以从我的 GitHub 页面将其添加到您的项目中。
我想制作这样的按钮背景
因此,当内容变长时,背景只会从中心区域拉伸,圆形边保持圆形。
我尝试制作一个没有垂直拉伸区域的 9 补丁,但是圆形的边变成了不同尺寸的椭圆形,如下图所示。
当我在中心指定一个垂直拉伸区域时,背景变成了我不希望的样子。这是一个带圆角的正方形。
我还得说,这个背景基本上是一个粉红色的边框,里面和外面都有一个粉红色的阴影。我找不到用 android drawable 来实现它的方法,因为没有有效的方法来使用它来获得良好的阴影效果
我想不出这样做的干净解决方案。请帮助我。
在 xml 可绘制对象中使用矩形形状并保持半径最大。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="3dp"
android:color="#A5A5A5" />
<corners android:radius="999dp" />
</shape>
好的,我刚刚制作了一个扩展 FrameLayout
的自定义视图,它具有可自定义的彩色阴影和描边。
您也可以使用它在中心绘制内部背景。
您可以从我的 GitHub 页面将其添加到您的项目中。