Android:layout - >按钮选择器 - >按钮不会变小

时间:2011-08-29 16:27:42

标签: android button size selector

所以我有这个问题。我制作了一个按钮和一个.xml按钮选择器文件,一切都很好,除了一件事。

我想要发生的事情:当您点击(或选择)按钮时,按钮变小(它变为较小的.png文件,准确无误)。

发生了什么:当您点击(或选择)按钮时,按钮不会变小,它会拉伸出来以适合父级(总而言之,大小保持不变)。我认为它与错误的布局参数有关。你能救我吗?这是一些代码:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/listbg"
    android:paddingTop="110dip"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:orientation="horizontal">
    <ScrollView 
        android:id="@+id/scrollView1"
        android:layout_height="fill_parent"
        android:layout_width="wrap_content">
    <RelativeLayout 
        android:id="@+id/linearLayout1"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:orientation="vertical"
        android:layout_gravity="center_horizontal">
        <Button android:layout_height="wrap_content"
            android:id="@+id/Button1" 
            android:background="@drawable/placestovisit"
            android:state_pressed="true"
            android:layout_width="wrap_content" 
            android:layout_alignParentTop="true"/>
        <!-- This is the button I am talking about -->
        <Button android:layout_height="wrap_content"
            android:id="@+id/Button2" 
            android:background="@drawable/mostpopular_button"
            android:layout_width="wrap_content" 
            android:layout_below="@+id/Button1"/>

1 个答案:

答案 0 :(得分:1)

将此添加到您的所有按钮:

     android:onClick="doButtonAction"

在按钮布局的活动中执行此操作

public void doButtonAction(View view)
{
   Button yourButton = (Button)findViewById(view.getId());
   yourButton.setScaleX(.8);
   yourButton.setScaleY(.8);
   //do button stuff here
}

如果这本身不起作用,可以尝试明确设置按钮的高度和宽度,例如:

     android:layout_height="50px"
     android:layout_width="150px"

可能会避免使用Wrap Content来阻止拉伸。