如在原来的列表上 放了一个隐藏显示的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 有没有类似的效果。
解决方案 »
- 我是按照网上教程配置的,为什么我的Eclipse很卡啊
- AlarmManager setRepeating问题
- 关于RSS订阅器 求交流
- 横竖屏转换,页面超出屏幕问题
- overlay和surfaceflinger的 w_stride 和 w怎么理解阿?
- 开发环境的配置,联网down东西的时候,是不是很麻烦?
- 使用asynctask,离开当前页面后不下载文件
- 菜鸟想请教安卓新语言
- 求助关于android的Get请求
- android.view.MotionEvent的事件触发来源的问题?
- 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)起作用。