我有一个带有 ListView 的 LinearLayout。它上面的布局,向右对齐,也有一个 ListView。我想将此上部布局实现为 3 级水平 SlidingDrawer(从右到左),例如具有 3 个阶段的小部件:1)抽屉完全关闭 2)抽屉 50% 打开 3)抽屉完全打开以占据整个屏幕 当抽屉将打开 50% 时,两个 ListView 都应该能够捕捉到点击事件。任何人都可以帮助我如何实现这一目标吗?
谢谢
我有一个带有 ListView 的 LinearLayout。它上面的布局,向右对齐,也有一个 ListView。我想将此上部布局实现为 3 级水平 SlidingDrawer(从右到左),例如具有 3 个阶段的小部件:1)抽屉完全关闭 2)抽屉 50% 打开 3)抽屉完全打开以占据整个屏幕 当抽屉将打开 50% 时,两个 ListView 都应该能够捕捉到点击事件。任何人都可以帮助我如何实现这一目标吗?
谢谢
看看这个链接。这应该让你开始:
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);
}
}
});
}
}
那只是一个“两阶段”抽屉。对于中间阶段,或者基本上是两个抽屉合二为一,您必须根据自己的需要调整代码。