2012-04-13 3 views

Antwort

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

Ich bin nicht ganz sicher, was Sie fragen. Aber wenn Sie nur für die Standard-Schaltfläche Hintergrund suchen, verwenden Sie einfach

Polsterung muss möglicherweise manuell durchgeführt werden.

Diese link gibt die Liste der Android-Ressourcen.

+0

Dies funktioniert nicht. Die Ressource ist nicht öffentlich. Das bekomme ich: Fehler: Fehler: Ressource ist nicht öffentlich. (bei 'background' mit dem Wert '@android: drawable/btn_default_normal'). – michael

0

Zur Klärung, warum würden Sie relatives Layout erben, um eine benutzerdefinierte Schaltfläche zu erstellen? Wenn Sie nur die Darstellung der Schaltfläche ändern müssen, können Sie dies tun, indem Sie einen auswählbaren Selektor angeben.

Wenn es überhaupt erforderlich ist, RelativeLayout zu vererben, wird Ihr Code ein wenig mehr sein, wo Sie die Zustände Ihrer Schaltfläche behandeln müssen. Wenn das richtig gemacht wurde, können Sie eine Hintergrundauswahl anhängen, wie von blessenm erwähnt.

0

Wie ich dich bekam. Sie könnten gerne implementieren wie this. Siehe auch this Zum Beispiel.

Es gibt Stil definieren für den Button und Sie können diesen Stil zu Ihrer Taste verwenden, wann immer Sie wollen.

Hoffe das ist, was Sie wollen. Wenn nicht, lass es mich wissen.

Genießen. :)

Verwandte Themen