【问题标题】:Android Button Border ColorAndroid 按钮边框颜色
【发布时间】:2016-02-24 03:59:12
【问题描述】:

我正在使用以下 XML 制作 Android Button。

设计预览的输出,如下图所示。

但是,当我在设备上运行时,三星 Duos。它显示完全不同。

如何设置边框。

<?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="#d78d79" />

</shape>

我在 XML 中也遇到错误,但它工作正常。当我将鼠标悬停在错误上时没有显示任何内容。

有人可以帮忙吗?

【问题讨论】:

  • 显示@drawable/button_border内容

标签: android xml button


【解决方案1】:

shape 元素中添加&lt;solid android:color="@android:color/transparent" /&gt; 作为子元素

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
    <solid android:color="@android:color/transparent" />
    <stroke
        android:width="3dp"
        android:color="#d78d79" />

</shape>

【讨论】:

  • 为什么设计和设备不同?
  • 这是Samsung...自定义android主题...我不知道。请检查将其设置为透明是否有帮助
  • 你能改变 XML 吗?好像我两次使用@android:color,所以收到错误。
  • 查看我的答案编辑,但如果此代码不能解决您的问题,您应该将solid android:color 属性设置为与您的布局背景相同的值。
【解决方案2】:

我通常会这样做!

您可以在一个 XML 中完成所有这些操作,但我将展示很长的路要走,以便您更好地理解。

simple_button.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:state_pressed="true"
        android:drawable="@drawable/button_pressed"/>

    <item
        android:state_enabled="false"
        android:drawable="@drawable/button_disabled"/>
    <item
        android:state_enabled="true"
        android:drawable="@drawable/button_enabled"/>

</selector>

button_pressed.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="2dp" />
    <solid android:color="#20FF5252" />
    <padding
        android:bottom="0dp"
        android:left="0dp"
        android:right="0dp"
        android:top="0dp" />
    <size
        android:width="100dp"
        android:height="35dp" />
    <stroke
        android:width="1dp"
        android:color="#1DE9B6" />
</shape>

button_disabled.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
    <corners
        android:radius="14dp"
        />
    <solid
        android:color="@android:color/transparent"
        />
    <padding
        android:left="0dp"
        android:top="0dp"
        android:right="0dp"
        android:bottom="0dp"
        />
    <stroke
        android:width="8dp"
        android:color="#1DE9B6"
        />
</shape>

button_enabled.xml

  <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
    <corners
        android:radius="2dp"
    />
    <solid
        android:color="@android:color/transparent"
    />
    <padding
        android:left="0dp"
        android:top="0dp"
        android:right="0dp"
        android:bottom="0dp"
    />
    <size
        android:width="260dp"
        android:height="50dp"
    />

    <stroke
        android:width="1dp"
        android:color="#1DE9B6"
    />
</shape>

styles.xml

 <style name="Widget.Button.Simple" parent="android:Widget">
        <item name="android:gravity">center_vertical|center_horizontal</item>
        <item name="android:background">@drawable/simple_button</item>
        <item name="android:textAppearance">?android:textAppearanceMedium</item>
        <item name="android:textColor">#1DE9B6</item>
        <item name="android:textStyle">bold</item>

    </style>

用法

  <Button
        android:id="@+id/btn_simple"
        style="@style/Widget.Button.Simple"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_margin="20dp"
        android:text="Button" />

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2013-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-31
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多