按下时按钮不会改变背景

时间:2017-06-11 09:59:09

标签: java android android-button

基本上我想制作一个按钮,当按下时增加它的高度以实现从后面“滑动”的效果,我在许多应用程序上看到并认为很酷,但我似乎无法让它工作。我尝试过多种方式:

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;
        }
    });

0 个答案:

没有答案