如在原来的列表上 放了一个隐藏显示的ReltionLayout 里面放了一些 选项 选择排序或过滤条件,这时在列表上面弹出显示这个ReltionLayout ,点击这个ReltionLayout 空白处 没有刚好点击上ReltionLayout里面的控件 经常会点击到下面的列表Items 里面的item 而触发其事件 如进入了详细页。
还有一种情况是:
<RelativeLayout>
<RelativeLayout android:id="@+id/Rel1" android:layout_width="match_parent"
android:layout_height="match_parent">
类别选择在Rel2下面, Rel2侧滑时看到 就像蘑菇街一样
我里面放了ExpandableListView 控件
</RelativeLayout> <RelativeLayout android:id="@+id/Rel2" android:layout_width="match_parent"
android:layout_height="match_parent">
主页面, 触屏事件 侧滑
</RelativeLayout>
</RelativeLayout>
不清楚蘑菇街是怎么做的,他第一屏侧滑后就锁住了,那半边是不能再滚动和点击的。
而我上面的做法则出现第一习测滑后还会被一些事件影响到,就算我在另半屏Rel1中作触屏和滚动都会影响到Rel2。
我需要的是不影响,要怎么做才能达到不影响的效果。
网页中经常会做弹出一个遮照层来盖着下面的层,android 有没有类似的效果。
还有一种情况是:
<RelativeLayout>
<RelativeLayout android:id="@+id/Rel1" android:layout_width="match_parent"
android:layout_height="match_parent">
类别选择在Rel2下面, Rel2侧滑时看到 就像蘑菇街一样
我里面放了ExpandableListView 控件
</RelativeLayout> <RelativeLayout android:id="@+id/Rel2" android:layout_width="match_parent"
android:layout_height="match_parent">
主页面, 触屏事件 侧滑
</RelativeLayout>
</RelativeLayout>
不清楚蘑菇街是怎么做的,他第一屏侧滑后就锁住了,那半边是不能再滚动和点击的。
而我上面的做法则出现第一习测滑后还会被一些事件影响到,就算我在另半屏Rel1中作触屏和滚动都会影响到Rel2。
我需要的是不影响,要怎么做才能达到不影响的效果。
网页中经常会做弹出一个遮照层来盖着下面的层,android 有没有类似的效果。
解决方案 »
- Android定时播放视频
- 怎么控制一个APK让其隐藏不显示(后台运行不销毁)和最大化运行(前台运行不再创建),并且这样切换不重新加载APK
- 找一篇基于android的移动学习终端的开发的外文
- 为什么我在activity中发intent给broadcastreceiver,却接收不到
- android对某个卡片(view)放大
- MOUNT_UNMOUNT_FILESYSTEMS的权限检查问题,请教
- 【求助】Andriod SDk更新老是出错,百度了好久找的代理还是不行
- 急,请问ijkPlayer android下怎么播放本地视频
- 关于android DDMS找不到模拟器问题
- android 屏幕共享
- Attach双向鉴权 以及Attach_Reject原因为Illegal MS
- 如何知道一个应用程序被打开或关闭?
View view=findviewbyid(R.id.re1); //大小写自己改下...
view.setonclicklistener(null);
clickable = "true"
最郁闷的是我发现事实并非如此,我上面放了两个ReltionLayout 一个显示主页面Rel2, 另一个显示一些类别菜单Rel1(一进入这个Activity时Rel1被Rel2遮住看不到)。Rel2上绑定了触屏事件监听,当向左滑时Rel2向左滑半屏,向右滑则恢复原样 /**
* 滑屏动画 触屏事件
* @author kong
*
*/
public class myOnTouchListener implements View.OnTouchListener
{
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction()==MotionEvent.ACTION_DOWN)
{
containerX1 = event.getX();
}
else if(event.getAction()==MotionEvent.ACTION_MOVE)
{
containerX2 = event.getX();
}
else if(event.getAction()==MotionEvent.ACTION_UP)
{
//松开事件发生后执行代码的区域
if(containerX1>containerX2)
{
if(isClose)
{
isClose = false;
ScrollContainer(true);
}
}
else
{
if(!isClose)
{
isClose = true;
ScrollContainer(false);
}
}
}
return true;
}
}具体滑屏动画方法代码ScrollContainer()有点长就不贴了。
功能基本上实现,出现的问题是当我将Rel2滑到左边时(只能看到半屏,而右边半屏显示下面Rel1的半屏) 而我在Rel1上作触屏动作竟然 Rel2监听到且Rel1上的一些点击动作无作用(Rel1里面的是一个自动扩展列表ExpandableListView),我不能理解的是为什么我在Rel1上作触屏动作却被Rel2监听到,Rel2不是被滑到另一边去了吗?难道它像网页一样加了个paddingRight 只是把它撑过去 右边的区域还是它的? 这些问题纠结了好久,度娘都不知道用什么关键字查,查了N久都没查到。一个人捉摸,没人带蛋痛啊!
我用这种恶心方法时又遇到一个问题:Rel1 的setVisibility(View.GONE) 不起作用,原因不明,我重新掉了个问题贴:http://bbs.csdn.net/topics/390311261
幸运的时Rel1 里面的ExpandableListView setVisibility(View.GONE)起作用。