1

我有一个带有 ListView 的 LinearLayout。它上面的布局,向右对齐,也有一个 ListView。我想将此上部布局实现为 3 级水平 SlidingDrawer(从右到左),例如具有 3 个阶段的小部件:1)抽屉完全关闭 2)抽屉 50% 打开 3)抽屉完全打开以占据整个屏幕 当抽屉将打开 50% 时,两个 ListView 都应该能够捕捉到点击事件。任何人都可以帮助我如何实现这一目标吗?

谢谢

4

1 回答 1

0

看看这个链接。这应该让你开始:

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);
            }
        }
    });

}
}

那只是一个“两阶段”抽屉。对于中间阶段,或者基本上是两个抽屉合二为一,您必须根据自己的需要调整代码。

于 2012-09-25T17:47:04.057 回答