android平键

时间:2013-01-29 10:56:15

标签: android button

我有带圆角的按钮,如何使它们看起来像这样:enter image description here

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

5 个答案:

答案 0 :(得分:11)

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

此服务为已检查的组件生成Holo样式(按钮是您的情况),然后您可以使用xml下载zip。

使用它来快速简单地实现或编码样本。

答案 1 :(得分: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" />

答案 2 :(得分:2)

查看此github帖子here

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

<强>快照:

Flat Button

答案 3 :(得分:2)

在文件夹drawable中添加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)
  • 机器人:背景=&#34; @可绘制/示例&#34;

        <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" />
    

答案 4 :(得分: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>