【BUG解析】Android2.3中setLayoutParams不生效

  • 问题描述 

Android2.3中setLayoutParams不生效,4.0以上版本正常

  • 原因分析

FrameLayout 所有margin效果都在2.3上必须要设置android:layout_gravity. 

因为有依赖关系.  而在4.0之后的版本却没有依赖.

  • 修改方法

        // 此处相当于布局文件中的Android:layout_gravity属性

        // 如果代码运行在 2.3的设备上务必需要添加gravity属性才能让setMargins设置生效

        params.gravity = Gravity.START;


        params.setMargins(mainViewShowX, mainViewShowY, 0, marginBottom);

        mainView.setLayoutParams(params);

        mainView.setVisibility(View.VISIBLE);

        startOpenAnimation();

  • 参考网址

http://blog.csdn.net/devilkin64/article/details/32724843

http://blog.csdn.net/feng88724/article/details/6333809


你可能感兴趣的:(setLayoutParams,Android2.3没有效果)