关于设置布局的宽高,比如线性布局的宽高 <LinearLayout    android:id = "@+id/ll_a"   android:layout_height = "wrap_content"   android:layout_width = "wrap_content"> <LinearLayout    android:id = "@+id/ll_b"   android:layout_height = "wrap_content"   android:layout_width = "wrap_content">   <FrameLayout   android:id = "@+id/fl_a"   android:layout_height = "wrap_content"   android:layout_width = "wrap_content">   <LinearLayout    android:id = "@+id/ll_c"   android:layout_height = "wrap_content"  android:layout_width = "wrap_content"></LinearLayout>   </FrameLayout></LinearLayout></LinearLayout>

  

关于动态设置布局需要注意:
如果给a布局设置宽高,那么a的父布局不能是别的类型,否则报类型转换异常
比如给id为ll_c 的设置
LayoutParams timeParams = (LayoutParams) ll_title_custom.getLayoutParams();

timeParams.width = mDisplayMetrics2.widthPixels /4;//屏幕宽度的四分之一


ll_c.setLayoutParams(new LinearLayout.LayoutParams(timeParams.width,LayoutParams.WRAP_CONTENT));
就会错,


LayoutParams timeParams = (LayoutParams) ll_title_custom.getLayoutParams();

timeParams.width = mDisplayMetrics2.widthPixels /4;//屏幕宽度的四分之一

ll_b.setLayoutParams(new LinearLayout.LayoutParams(timeParams.width,LayoutParams.WRAP_CONTENT));
就不会错,因为ll_b是线性布局,他的父布局也是线性布局ll_a 所以设置成功。像ll_c的外面就是Framelayout,这就属于类型转换异常

更多相关文章

  1. Android(安卓)Studio常见布局报错及解决方案
  2. 判断当前网络是否可用和调用系统设置wifi界面
  3. Android(安卓)Studio 实现播放本地/网络视频
  4. 使用代码为textview设置drawableLeft
  5. android中四个典型动画设置
  6. android:windowSoftInputMode属性使用
  7. ListView取消和自定义分割线的方法
  8. Android选项卡(TabWidget)应用
  9. 安卓开发10:常用控件-常用表单级别控件

随机推荐

  1. Android 无须获取Root权限静默安装App
  2. Android 操作SQLite数据库之一
  3. Android沉浸式标题栏状态栏字体颜色修改(
  4. Android Canvas绘图详解(图文)
  5. Android(安卓)事件分发机制
  6. Android深入理解WebView——上
  7. 一个现代化的JSON库Moshi针对Android和Ja
  8. Android Selector
  9. Android事件分发机制完全解析,带你从源码
  10. Android NDK初识