Android:3 级滑动抽屉
Posted
技术标签:
【中文标题】Android:3 级滑动抽屉【英文标题】:Android: 3-Stage SlidingDrawer 【发布时间】:2012-09-17 06:46:06 【问题描述】:我有一个带有 ListView 的 LinearLayout。它上面的布局,向右对齐,也有一个 ListView。 我想将此上部布局实现为 3 级水平 SlidingDrawer(从右到左),例如具有 3 个阶段的小部件: 1) 抽屉完全关闭 2) 抽屉 50% 打开 3)抽屉完全打开占据整个屏幕 当抽屉打开 50% 时,两个 ListView 都应该能够捕捉到点击事件。 谁能帮助我如何实现这一目标?
谢谢
【问题讨论】:
要水平滑动只需改变方向。 1和3很容易实现,参考:developer.android.com/reference/android/widget/…,不能自定义动画和检测50%。您必须创建自己的 CustomSlidingDrawer,w2davids.wordpress.com/android-damn-that-sliding-drawer 谢谢阿尼斯。是的,我知道让它水平化没什么大不了的。但我被困在如何定制它acc。符合我的要求。这是project 我正在为CustomSlidingDrawer 工作。但我无法通过它。 这是我正在做的项目的UI设计要求! 我建议在 50% 之后创建一个透明的 TextView,使用 ViewTreeObserver.OnGlobalLayoutListener 并中继其可见性变化来处理 50% 很抱歉提供的信息不完整。我在下面有一个列表视图,抽屉将在此之上。并且抽屉上也会有一个 listView。当抽屉打开 50% 时,下面的列表视图应该响应触摸事件(itemClick)。所以,如果我放置透明的TextView,如果我是对的,下面的列表视图将不会收到任何事件。 【参考方案1】:看看这个链接。这应该让你开始:
http://blog.sptechnolab.com/2011/02/10/android/android-sliding-drawer/
没有布局的代码类似于:
public class animation extends Activity
/** Called when the activity is first created. */
CheckBox c1,c2,c3;
int key=0;
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main1);
final TransparentPanel popup = (TransparentPanel) findViewById(R.id.popup_window);
popup.setVisibility(View.GONE);
final Button btn=(Button)findViewById(R.id.show_popup_button);
btn.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View arg0)
if(key==0)
key=1;
popup.setVisibility(View.VISIBLE);
btn.setBackgroundResource(R.drawable.slid3_n);
else if(key==1)
key=0;
popup.setVisibility(View.GONE);
btn.setBackgroundResource(R.drawable.slid4_n);
);
这只是一个“两阶段”抽屉。对于中间阶段,或者基本上是两个抽屉合二为一,您必须根据自己的需要调整代码。
【讨论】:
感谢 SunnySonic 的链接。但是在通过代码之后,似乎只有弹出窗口的可见性是在点击事件 acc 上调整的。条件。而我需要它来像 SlidingDrawer 那样为抽屉设置动画。并且用户应该能够通过移动手柄(触摸和移动)来打开/关闭手柄,而不仅仅是点击它。 您可以设置打开和关闭的动画。看看developer.android.com/reference/android/widget/…我不知道“你想要的触摸和拖动。你可能无法使用SlidingDrawer原生类。在这个页面上虽然它正在谈论拖动手柄。看看那个:@ 987654323@以上是关于Android:3 级滑动抽屉的主要内容,如果未能解决你的问题,请参考以下文章
滑动手势不支持用手指在 android 的滑动抽屉中的列表视图上