基本上我想制作一个按钮,当按下时增加它的高度以实现从后面“滑动”的效果,我在许多应用程序上看到并认为很酷,但我似乎无法让它工作。我尝试过多种方式:
Button.onTouch方法,带button.setwidth(50),
Button.onClick方法,具有与上面相同的功能,
现在我正在尝试在XML中使用Selector这就是它的样子:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/dugme1_pressed" android:state_selected="true"></item>
<item android:drawable="@drawable/dugme1"></item>
</selector>
我使用Photoshop并创建了一个简单的按钮背景: Button_Background
我创建了一个与我想要实现的效果相匹配的按钮背景: Effect
但是,当我启动应用程序并按下按钮时,可能会下方1-2个像素,它变为阴影更暗,按钮背景不会改变。
我做错了什么?
有更好的方法吗?
修改
我尝试了以下两种方法来实现效果,但没有一种方法有效:
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN)
{
ViewGroup.LayoutParams params = button.getLayoutParams();
params.height+=500;
}
return false;
}
});
和
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ViewGroup.LayoutParams params = button.getLayoutParams();
params.height+=500;
}
});