所以我有这个问题。我制作了一个按钮和一个.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"/>
答案 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来阻止拉伸。