【问题标题】:Android: Stroke Left Side of Button OnlyAndroid:仅在按钮的左侧描边
【发布时间】:2014-06-11 01:04:04
【问题描述】:

我正在尝试使用笔划在按钮上绘制突出显示的“3D”线。我该怎么做呢?我的 custom_button.xml 选择器中的以下块用于默认按钮状态。我希望按钮的背景填充蓝色渐变,但粉色(仅用于测试!)线出现在按钮的左侧。

我应该使用如下所示的层列表吗? 如何让线条出现在按钮的左侧?目前粉红色的线条出现在整个按钮周围,它用黑色而不是渐变蓝色填充按钮。这是因为第二个项目的默认颜色是黑色..即使我试图将其设置为透明?

<shape>
    <gradient
        android:endColor="@color/blue2"
        android:startColor="@color/blue25"
        android:angle="270" />
    <stroke
        android:width="3dp"
        android:color="#00FFFF" />
    <corners
        android:radius="3dp" />
    <padding
        android:left="10dp"
        android:top="10dp"
        android:right="10dp"
        android:bottom="10dp" />
</shape>

<item android:left="1dp">
    <shape>
       <solid android:color="@android:color/transparent" /> 
       <stroke android:width="1dp" android:color="#FF8888" />
   </shape>
</item>

</layer-list>

下面是我得到的(在顶部)和我期望得到的(在底部)的图像。我只是将这些颜色用于测试目的! :-)

【问题讨论】:

  • 你能发布当前结果和预期结果吗.. image
  • @Rod_Algonquin:嗨,罗德。我已按要求附上了一个例子。注意我的按钮左侧的粉红色线 - 这就是我想要实现的 - 即 - 通过 XML 在按钮矩形的任何一侧绘制一条线的能力。

标签: android xml button stroke


【解决方案1】:

你可以试试这个

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:bottom="-2dp"
        android:right="-2dp"
        android:top="-2dp">
        <shape>
            <solid android:color="@android:color/transparent" />

            <stroke
                android:width="1dp"
                android:color="#FF8888" />
        </shape>
    </item>
    <item
        android:drawable="@drawable/shape2"
        android:left="1dp">
    </item>

</layer-list>

@drawable/shape2 是您在上面指定的形状

结果:

【讨论】:

  • 好的,我明白了——它实际上是重叠的形状来“显示”一条线,而不是实际画一条线。我知道我可以使用 9 个可绘制的补丁来实现我想要的,但我希望我能找到一种方法来为默认的 Android 按钮着色但使用不同的颜色。我设备上的默认按钮是深灰色的,顶部有一条浅灰色线,给人一种 3D 按钮的错觉。这就是我真正想要改变的。
  • @SparkyNZ 当您在 9patch 中使用 Gradient 时,它只会缩放并且您不会喜欢结果。当您只有纯色时,9patch 会更好。
  • 谢谢。渐变只是在那里玩耍。困扰我的是我有两个应用程序 - 一个使用默认按钮,这些按钮显示为平坦的 #3d3d3d 背景。出于某种原因,另一个应用程序使用了较浅的灰色。我无法弄清楚造型发生在哪里,并决定我想模仿深灰色的按钮......但如果我愿意,我也可以让我从深灰色变成其他东西。现在我了解了这是如何工作的,我有一个类似于默认按钮的深灰色按钮......所以我可以从那里继续前进。 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-21
  • 2012-01-19
  • 1970-01-01
  • 2014-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多