Android 中的圆形按钮
我想在 Android 程序中创建圆形按钮。我看过如何创建带有圆角的EditText?
我想要实现的是:
- 圆边按钮
- 更改不同状态下的按钮背景/外观(如 Onclick、焦点)
- 使用我自己的 PNG 作为背景,而不是创建形状。
I want to create rounded buttons in an Android program. I have looked at How to create EditText with rounded corners?
What I want to achieve is:
- Rounded Edge Buttons
- Change Button background/appearance on different states (Like Onclick, Focus)
- Use my own PNG for the background and not create a shape.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
您可以制作圆角按钮,而无需借助 ImageView。
背景选择器资源,
button_background.xml
:对于每个状态,一个可绘制资源,例如button_press.xml:
注意
corners
元素,这会让你获得圆角!然后在按钮上设置背景可绘制:
编辑(9/2018):可以使用相同的技术创建圆形按钮。圆形实际上只是一个方形按钮,半径大小设置为方形边长的 1/2
此外,在上面的示例中,
lines
和gradient
不是必需的元素,它们只是您能够看到圆角形状的示例和方式You can do a rounded corner button without resorting to an ImageView.
A background selector resource,
button_background.xml
:For each state, a drawable resource, e.g. button_press.xml:
Note the
corners
element, this gets you rounded corners!Then set the background drawable on the button:
EDIT (9/2018): The same technique can be used to create a circular button. A circle is really just a square button with radius size set to 1/2 the side of the square
Additionally, in the example above the
stroke
andgradient
aren't necessary elements, they are just examples and ways that you'll be able to see the rounded corner shape如果您在 Android 中需要圆形按钮,请创建一个 XML 文件“RoundShapeBtn.xml”作为可绘制按钮。
将其添加到您的按钮代码中:
If you need a rounded button in Android, then create an XML file "RoundShapeBtn.xml" as drawable.
Add this to your button code:
在 android 的可绘制文件夹中创建 xml 文件,如下所示:
create xml file in drawable folder in android like :
像这样扩展
ImageView
:并将普通背景资源应用于它,它应该被剪成圆角。
Extend
ImageView
like so:And apply your normal background resource to it and it should be clipped with rounded corners.
Google 建议您不要模仿其他网站的 UI 元素平台。我不会在 Android 应用程序中放置圆形 iOS 风格的按钮。
It is recommended by Google that you do not mimic UI elements from other platforms. I wouldn't put rounded iOS style buttons in an Android application.
这可以使用角属性来完成。请看下面的 xml。
This can be done using the corner attribute. Look at the below xml.
最好将按钮状态和形状放在 1 个 xml 选择器文件中。这应该会让你的应用程序运行得更快/更好。试试这个(由 Android 应用程序开发简介提供)。这里不是垃圾邮件,只是表明这不是我的代码。
PS 设计技巧:渐变和圆角矩形最适合在你很难辨别它们存在的情况下使用——明智地使用它们。
It's much better to put the button states and shapes in 1 xml selector file. That should make your app run faster/better. Try this (courtesy of Introduction to Android Application Development). Not spamming here just showing this isn't my code.
P.S.-design tip: gradients and rounded rectangles are best used when you can hardly tell they are there-use wisely.
圆形按钮也可以使用环形可绘制来创建,请参阅 http://www.zoftino。 com/android-shape-drawable-examples
Rounded buttons can be creating using ring shape drawable also, see http://www.zoftino.com/android-shape-drawable-examples
创建名为 btnOval 的 Drawable 资源-->然后过去的代码;
和用户内部按钮标签,例如,
Create Drawable resource named btnOval-->then past code ;
and user inside button tag like,
尝试下面的代码
创建一个名为 circular_button.xml 的可绘制文件,然后插入以下内容
然后将按钮的背景更改为此可绘制文件
如果您想要一个完整的圆形按钮,您可以使用下面的可绘制文件
Try below code
Create a drawable file called circular_button.xml and insert the below
Then change the background of the button to this drawable file
If you want a full circle button you can use the below drawable