Sou*_*ner 4 animation android invisible view listener
所以我想做的就是触摸隐藏隐形视图的屏幕的某个部分.
触摸后,视图应淡入.问题:当我触摸视图时,不会触发监听器.
我尝试过的事情:view.setImageAlpha(0),view.setAlpha(0),view.setVisibility(View.INVISIBLE)当我设置alpha = 1时,监听器工作正常.
提前致谢.
编辑: 感谢@Viswanath L提供了他在帖子中提到的第二个解决方案的出色解决方案.
我只是想给出一些代码示例,以防万一有人不知道它是如何工作的:
我想要的是:我想触摸屏幕的右上角,在这个位置,一个视图(myView)应该淡入.
fadeInListener = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
System.out.println("TRIGGERED");
//The screen size here is 1080x1920(vertical)
if (event.getRawX() > 800 && event.getRawY() > 1640) {
final AlphaAnimation fadeIn = new AlphaAnimation(0, 1);
fadeIn.setDuration(500);
fadeIn.setFillAfter(true);
myView.startAnimation(fadeIn);
}
}
return false;
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
layout.setOnTouchListener(fadeInListener);
}
Run Code Online (Sandbox Code Playgroud)
布局是:
this.layout = (RelativeLayout) findViewById(R.id.layout);
Run Code Online (Sandbox Code Playgroud)
myView应该放在右上角,这非常重要:
myView.setVisibility(View.Gone);
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
INVISBLE意味着您正在尝试将侦听器添加到不存在的视图中.您只能将侦听器添加到可见视图中.
替代方法
1)尝试制作一个可见但与背景颜色相同的虚拟视图.
2)尝试设置父级的监听器并检查位置(位置是否属于INVISIBLE视图).
| 归档时间: |
|
| 查看次数: |
2481 次 |
| 最近记录: |