6

我有带圆角的按钮,如何使它们看起来像这样:在此处输入图像描述

我需要定义自己的风格吗?我不想更改我的代码,只更改 XML 资源,如果可能的话,如何将 this(border radius = 0) 样式应用于我的按钮?

4

5 回答 5

11

http://android-holo-colors.com/

该服务为选中的组件生成 Holo 样式(按钮是您的情况),然后您可以下载带有 xml 的 zip。

使用它来快速轻松地实现或编写示例代码。

于 2013-01-29T11:19:59.080 回答
5

我认为只有这样才能让你得到你想要的东西,让它编写 XML 使之成为可能。

在 drawable 文件夹中,创建一个代表按钮形状的 xml 文件。

例如

<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_pressed="true" >
    <shape>
      <solid
          android:color="#ff00ff" />
      <stroke
          android:width="1dp"
          android:color="#20f8f6" />
      <corners
          android:radius="6dp" /> // set to 0 or erase it for sharp corners
      <padding
          android:left="10dp"
          android:top="10dp"
          android:right="10dp"
          android:bottom="10dp" />
    </shape>
  </item>
  <item>
    <shape>
      <gradient
          android:startColor="#ff00ff"
          android:endColor="#992f2f"
          android:angle="270" />
      <stroke
          android:width="1dp"
          android:color="#992f2f" />
      <corners
          android:radius="6dp" />
      <padding
          android:left="10dp"
          android:top="10dp"
          android:right="10dp"
          android:bottom="10dp" />
    </shape>
  </item>
</selector>

那么你需要在你的styles.xml文件中创建一个样式

<resources>
  <style name="button_text" >
    <item name="android:layout_width" >fill_parent</item>
    <item name="android:layout_height" >wrap_content</item>
    <item name="android:textColor" >#ffffff</item>
    <item name="android:gravity" >center</item>
    <item name="android:layout_margin" >3dp</item>
    <item name="android:textSize" >30dp</item>
    <item name="android:textStyle" >bold</item>
    <item name="android:shadowColor" >#000000</item>
    <item name="android:shadowDx" >1</item>
    <item name="android:shadowDy" >1</item>
    <item name="android:shadowRadius" >2</item>
  </style>
</resources>

当你在 xml 中声明你的按钮时

 <Button
        android:background="@drawable/red_button"
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Styled Button"
        style="@style/button_text" />
于 2013-01-29T11:08:58.607 回答
2

在此处查看此 github 帖子。

主要检查那里提供的库并添加到该源代码中。

快照:

扁平按钮

于 2015-01-05T07:08:18.420 回答
2

在可绘制文件夹中添加 xml(example.xml):

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <corners android:topLeftRadius="4dip"
                android:topRightRadius="4dip"
                android:bottomLeftRadius="4dip"
                android:bottomRightRadius="4dip"/>
            <solid android:color="#1FC1BA"/>
        </shape>
    </item>

    <item android:state_focused="true">
        <shape android:shape="rectangle">
            <corners android:topLeftRadius="4dip"
                android:topRightRadius="4dip"
                android:bottomLeftRadius="4dip"
                android:bottomRightRadius="4dip"/>
            <solid android:color="#26262C"/>
        </shape>
    </item>
    <item android:state_pressed="true">
        <shape android:shape="rectangle">
            <corners android:topLeftRadius="4dip"
                android:topRightRadius="4dip"
                android:bottomLeftRadius="4dip"
                android:bottomRightRadius="4dip"/>
            <solid android:color="#1B978F"/>
        </shape>
    </item>


</selector>

在按钮中的文件夹布局(activity_main.xml)上

  • android:background="@drawable/example"

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="exampleText"
            android:layout_gravity="center"
            android:background="@drawable/example"
            android:textColor="#ffffffff" />
    
于 2015-06-04T21:13:30.627 回答
1

我认为下面的代码正是您正在寻找的。

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


  <item>
    <shape>
      <gradient
          android:startColor="#32a5cf"
          android:endColor="#32a5cf"
          android:angle="270" />
      <stroke
          android:width="7dp"
          android:color="#9032a5cf"
           />
      <corners
          android:radius="6dp" />
      <padding
          android:left="10dp"
          android:top="10dp"
          android:right="10dp"
          android:bottom="10dp" />
    </shape>
  </item>
</selector>
于 2013-01-29T11:29:33.377 回答