相对布局onpress

时间:2016-12-18 05:49:14

标签: android android-relativelayout

我想要的是,当RelativeLayout按下状态有效时,我希望布局alpha为50%,当我不需要100% alpha时。

以下代码似乎无效。

if (relativelayout.hasFocus()){
    relativelayout.setAlpha(0.5f);
}

我尝试将相对布局的背景设置为此

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true"
        android:drawable="@drawable/drawer_list_pressed" />

    <item android:state_focused="false"
        android:drawable="@drawable/drawer_list_normal" />

    <item android:state_selected="true"
        android:drawable="@drawable/drawer_list_pressed" />

</selector>

它正在努力改变背景而不是内容的alpha。

1 个答案:

答案 0 :(得分:0)

经过一番思考后我找到了解决方案

public void pressed(final View view){
    view.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN){
                view.setAlpha(0.5f);
            }
            else {
                view.setAlpha(1.0f);
            }
            return true;
        }
    });
}