2012-04-13 28 views

回答

2
in your drawable folder - create this xml say custom_button.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="#E77A26" /> 
       <stroke 
        android:width="1dp" 
        android:color="#E77A26" /> 
       <corners 
        android:radius="3dp" /> 
       <padding 
        android:left="10dp" 
        android:top="10dp" 
        android:right="10dp" 
        android:bottom="10dp" /> 
      </shape> 
     </item> 
     <item> 
      <shape> 
       <gradient 
        android:startColor="#70c656" 
        android:endColor="#53933f" 
        android:angle="270" /> 
       <stroke 
        android:width="1dp" 
        android:color="#53933f" /> 
       <corners 
        android:radius="4dp" /> 
       <padding 
        android:left="10dp" 
        android:top="10dp" 
        android:right="10dp" 
        android:bottom="10dp" /> 
      </shape> 
     </item> 
    </selector> 

And in your main layout - 

    <Button 
      android:id="@+id/connect" 
      android:layout_width="100dp" 
      android:layout_height="wrap_content" 
      android:background="@drawable/custom_button" 
      android:layout_marginRight="10dp" 
      android:text="@string/connect" /> 

if you want to put styles to your text in that button - add a style resource in your strings.xml - like below 

    <style name="buttonText"> 
      <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:textSize">15dp</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> 

You can use this style in your button as below, 

    style="@style/buttonText" 

Thats it... 
0

我不完全确定你在问什么。但是,如果您只是在寻找默认的按钮背景,只需使用

android:background="@android:drawable/btn_default_normal" 

填充可能需要手动完成。

这个link给出了Android资源的列表。

+0

这是行不通的。资源不公开。这是我得到::错误:错误:资源不公开。 (在'background'处,值为'@android:drawable/btn_default_normal')。 – michael 2012-04-13 16:29:22

0

为了澄清,为什么要继承相对布局以创建自定义按钮?如果你只需要改变按钮的外观,你可以通过指定一个可选择的drawable来完成。

如果有需要继承RelativeLayout,那么你的代码会更多一些,你需要处理你的按钮的状态。如果这样做正确,你可以附上一个可以按照blessenm提到的背景选择器。

0

正如我得到你。您可能喜欢像this那样实施。另请参阅this例如。

有按钮的样式定义,您可以在任何时候使用该样式到按钮。

希望这就是你想要的。 如果没有,然后让我知道。

享受。 :)

相关问题