android 抽屉 挤压,可左右两侧挤压傍边布局的Android抽屉.pdf

工程中需要这样的效果,左边和右边的Panel可以打开关闭:

我把左边和右边的Panel封装成2个类了。这里要特别注意,抽屉是需要“handler” 的,我这里可以把任何View都

看成“handler” ,使用setBindView(View bindView)方法进行绑定“handler” 。这样做的好处是“把手”可以独立于抽

屉,可以任意控制把手的位置,而不需要把手跟着抽屉移动!

先看左边的Panel:

Java代 码

1. import android.content.Context;

2. import android.os.AsyncTask;

3. import android.view.View;

4. import android.widget.LinearLayout;

5.

6. public class LeftPanel extends LinearLayout{

7.

8. /**每次 自动展开/收缩 的范 围*/

9. private final static int SPEED=20;

10. private int MAX_WIDTH=0;

11. private Context mContext;

12.

13. public LeftPanel(Context context,int width,int height) {

14. super(context);

15. this.mContext=context;

16. //设置 Panel本身 的属性

17. LayoutParams lp=new LayoutParams(width, height);

18. lp.leftMargin=-lp.width;

19. MAX_WIDTH=Math.abs(lp.leftMargin);

20. this.setLayoutParams(lp);

21. }

22. /**

23. *

24. * @param context

25. * @param width

26. * @param height

27. * @param bindView

28. * @param contentView

29. */

30. public LeftPanel(Context context,int width,int height,View bindView,View contentView)

{

31. this(context,width,height);

32. setBindView(bindView);

33. setContentView(contentView);

34. }

35. /**

36. * 把View放在 Panel中

37. * @param v

38. */

39. public void setContentView(View v){

40. this.addView(v);

41. }

42.

43. /**

44. * 绑定触发动画 的View

45. * @param bindView

46. */

47. public void setBindView(View bindView){

48. bindView.setOnClickListener(new OnClickListener(){

49.

50. @Override

51.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值