我想要的是,当RelativeLayout按下状态为active时,我希望布局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。
发布于 2016-12-18 14:17:44
经过一番思考,我找到了一个解决方案。
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;
}
});
}https://stackoverflow.com/questions/41205864
复制相似问题