android LayoutParams 总结使用:
1:用代码加载布局文件,设置在布局文件里面的一些属性(android:paddingTop)会失效
<span style="font-size:10px;"><?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="11dp"
android:paddingBottom="12dp"
android:text="跑步"
android:textSize="19sp"
android:textColor="@color/white"
android:gravity="center"
android:background="@drawable/login_submit_bg"
/></span>
解决方案,用
textView = (TextView) getLayoutInflater().inflate(R.layout.layout_sport_select_type, null);
inearLayout.LayoutParams params = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT);
params.setMargins(0, DensityUtil.dip2px(15), 0, 0);//top marign 15dp
textView.setLayoutParams(params);
2:RelativeLayout
RelativeLayout layout = (RelativeLayout) getLayoutInflater().inflate(R.layout.layout_sport_plan_name, null);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
params.setMargins(0, DensityUtil.dip2px(120), 0, 0);//top marign 15dp
layout.setLayoutParams(params);
3:RelativeLayout也可以设置Linearlayout的param
RelativeLayout dayLl = null;
dayLl = (<strong>RelativeLayout</strong>) getLayoutInflater().inflate(R.layout.layout_sport_sysplan_day_layout, null);
LinearLayout.LayoutParams paramss = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
int bottom = (j == weeks.get(i).size() - 1) ? 10 : 0;
paramss.setMargins(0, DensityUtil.dip2px(20), 0, bottom);//top marign 15dp
dayLl.setLayoutParams(paramss);
4:
java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
在 listview的头部添加,报异常: