Android中setLayoutParams要用父控件的LayoutParams
2013-05-29 17:35
309 查看
这几天做程序想明白了一个问题,在此做一下记录。
ActionBarCustomView customview = new ActionBarCustomView(context);
ActionBar.LayoutParams lp = new ActionBar.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,
Gravity.CENTER_VERTICAL);
customview.setLayoutParams(lp);
给ActionBar上加子view,ActionBarCustomView是自己写好的子view。
其中父控件是ActionBar,那就必须写成ActionBar.LayoutParams
如果父控件是LinearLayout,那就必须写成LinearLayout.LayoutParams
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
layoutParams.gravity = Gravity.CENTER;
子view的布局是要以父控件为基础的,如果你的子布局是依靠父亲布局来显示的,就必须这么设置,要不子view在父view显示就会不正确。
一般情况这个问题是不会暴露的,只有你用的很细节的时候,才会出现。
ActionBarCustomView customview = new ActionBarCustomView(context);
ActionBar.LayoutParams lp = new ActionBar.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,
Gravity.CENTER_VERTICAL);
customview.setLayoutParams(lp);
给ActionBar上加子view,ActionBarCustomView是自己写好的子view。
其中父控件是ActionBar,那就必须写成ActionBar.LayoutParams
如果父控件是LinearLayout,那就必须写成LinearLayout.LayoutParams
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
layoutParams.gravity = Gravity.CENTER;
子view的布局是要以父控件为基础的,如果你的子布局是依靠父亲布局来显示的,就必须这么设置,要不子view在父view显示就会不正确。
一般情况这个问题是不会暴露的,只有你用的很细节的时候,才会出现。
相关文章推荐
- Android中setLayoutParams要用父控件的LayoutParams
- (转)Android控件 - ViewGroup、ViewGroup.LayoutParams、ViewGroup.MarginLayoutParams简介
- [android开发]ImageView\的getLayoutParams()和setLayoutParams()
- Android中的setLayoutParams是给父控件看的
- Android控件 - ViewGroup、ViewGroup.LayoutParams、ViewGroup.MarginLayoutParams简介
- 【学习笔记】Android 动态添加控件 getlayoutparams 为空的问题
- Android - 交换控件位置:基于LayoutParams的瞬间交换与基于ObjectAnimator动画效果交换
- java.lang.ClassCastException: android.view.ViewGroup$LayoutParams cannot be cast to android.widget.
- android LayoutParams 简单说明 理解 示例
- 解决 android.view.ViewGroup$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
- android layout及其控件在选中时的焦点冲突问题
- Android中LayoutParams的基本用法
- Android 自定义布局控件-圆形RelativeLayout
- 问题集一:view.setLayoutParams(layoutParams)不起作用
- Android布局控件之TableLayout
- Android 布局之LinearLayout 子控件weight权重的作用详析
- Android 布局之LinearLayout 子控件weight权重的作用详析
- android: 静态XML和动态加载XML混合使用,以及重写Layout控件
- 开发问题及解决 java.lang.ClassCastException:android.widget.LinearLayout$LayoutParams
- Android LayoutParams用法解析