android - 在带有边框的 textView 中创建自定义 UI 组件按钮

标签 android button coding-style custom-controls

我创建了一个自定义按钮:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true">
        <shape>
            <gradient android:startColor="#5a803f"
                android:endColor="#446c1a" android:angle="90" />
            <stroke android:width="5dp" android:color="#3d5e1d" />
            <corners android:radius="3dp" />
            <padding android:left="8dp" android:top="8dp"
                android:right="8dp" android:bottom="8dp" />
        </shape>
    </item>
    <item android:state_focused="true">
        <shape>
            <gradient android:startColor="#5a803f"
                android:endColor="#446c1a" android:angle="90" />
            <stroke android:width="5dp" android:color="#3d5e1d" />
            <corners android:radius="3dp" />
            <padding android:left="8dp" android:top="8dp"
                android:right="8dp" android:bottom="8dp" />
        </shape>
    </item>
    <item>

    </item>

</selector>

但我需要将此按钮放置在黑色背景上,并在顶部和底部设置有定义的边距和白色边框。而且这个背景不应该是可点击的。像这样:

enter image description here

我该如何实现?借助此选择器或样式使用。请帮助提供代码示例。

最佳答案

您可以使用选择器实现这一点

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/icon_button_disabled" android:state_enabled="false"/>
    <item android:drawable="@drawable/icon_button_pressed" android:state_pressed="true"/>
    <item android:drawable="@drawable/icon_button_focused" android:state_focused="true"/>
    <item android:drawable="@drawable/icon_button_normal"/>
</selector>

按钮布局

   <?xml version="1.0" encoding="utf-8"?>
    <Button android:id="@+id/textAndIconBtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Text in the button"
        android:background="@drawable/button"
        android:drawableLeft="@drawable/star_icon"
        android:drawablePadding="5dip"
        android:textColor="#ffffffff"/>

更多信息你可以试试this Link

关于android - 在带有边框的 textView 中创建自定义 UI 组件按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14338084/

相关文章:

android - React Native 应用程序的发布版本中的图像映射错误

html - CSS:将鼠标悬停在 HTML 提交按钮上

Facebook Like 按钮不在任何浏览器中显示/显示

java - 错误 :0c0890ba:ASN. 1 编码例程:asn1_check_tlen:WRONG_TAG

java - 如何迭代jsoup中的各个元素?

android - 在 Android 9 中获取来电显示

android - 找到调用 intent/activity 的按钮的 id?安卓

objective-c - 我应该将托管对象上下文作为方法的参数包含在内吗?

c - 指针约定与 : Array of pointers to certain elements

c++ - 使用在线匿名结构进行组织