2010-12-02 80 views
24

我有一个自定义的按钮布局Android的自定义按钮保证金

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <shape> 
      <gradient android:startColor="@color/pres1" 
       android:endColor="@color/pres2" android:angle="270" /> 
      <stroke android:width="5dp" android:color="@color/stro3" /> 
      <corners android:radius="5dp" /> 
      <padding android:left="10dp" android:top="20dp" 
       android:right="10dp" android:bottom="20dp" /> 
     </shape> 
    </item> 
    <item android:state_focused="true"> 
     <shape> 
      <gradient android:endColor="@color/focu1" 
       android:startColor="@color/focu2" android:angle="270" /> 
      <stroke android:width="5dp" android:color="@color/stro2" /> 
      <corners android:radius="5dp" /> 
      <padding android:left="10dp" android:top="20dp" 
       android:right="10dp" android:bottom="20dp" /> 
     </shape> 
    </item> 
    <item> 
     <shape> 
      <gradient android:endColor="@color/norm1" 
       android:startColor="@color/norm2" android:angle="270" /> 
      <corners android:radius="5dp" /> 
      <padding android:left="10dp" android:top="20dp" 
       android:right="10dp" android:bottom="20dp" /> 
     </shape> 
    </item> 

</selector> 

而对于下面的铺陈

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="fill_parent" 
    android:layout_height="fill_parent" android:background="@color/all_white"> 

    <TextView android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:text="@string/hello" 
     android:textColor="@color/all_red" /> 

    <Button android:id="@+id/mq_categories" android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:text="Browse Quiz Categories" 
     android:background="@drawable/custom_button" /> 
    <Button android:id="@+id/mq_random" android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:text="Enter Random Quiz" 
     android:background="@drawable/custom_button" /> 

</LinearLayout> 

下面的输出产生

alt text

我需要添加一些按钮之间的余地,任何帮助赞赏..

+0

你好,我正在寻找这些按钮的确切颜色,你可以请张贴颜色的十六进制代码?谢谢! – idish 2012-12-08 17:54:07

回答

28

只要做到这一点这样

<Button android:id="@+id/mq_categories" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="Browse Quiz Categories" 
    android:background="@drawable/custom_button" 
    android:layout_marginBottom="5dp"/> 

这样你设置的5密度独立像素的边距上你的第一个按钮的底部。

1

而不是使用LinearLayout使用RelativeLayout,这样可以尽可能地设置边距。干杯

+0

你能解释一下你的意思吗?我不太了解它。 – 2010-12-02 12:28:24

+0

在布局main.xml中,当你在UI中膨胀它时。应该有LinearLayout。在那里你可以使用RalativeLayout并通过保持TextView为root来设置按钮的边距和位置。 – Ashay 2010-12-02 13:50:56

1

我有同样的问题,解决方案似乎并不存在。尝试一些事情之后的伎俩对我来说,

  1. 定义自定义按钮布局中的问题完成后
  2. 内部资源>值> styles.xml文件,添加如下新的风格,

    <style name="Widget.Button_Custom" parent="android:Widget"> 
        <item name="android:layout_margin">5dp</item> 
        <item name="android:background">@drawable/button_custom</item> 
    </style> 
    
  3. 使用样式在布局

<?xml version="1.0" encoding="utf-8"?> 
<Button android:id="@+id/mq_categories" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" android:text=" 
     android:background="@drawable/custom_button" 
     style="@style/Widget.Button_Custom" 
/> 

应该这样做。除了边距,您还可以在样式标签中定义许多其他属性。希望有所帮助!