应无所住,而生其心
排名
1
文章
860
粉丝
112
评论
163
net core webapi post传递参数
庸人 : 确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

android后台动态添加布局文件、控件与动态设置属性2

3849人阅读 2015/8/4 13:09 总访问:5194034 评论:0 收藏:0 手机
分类: 移动开发

原布局文件

  1. <ScrollView
  2. android:layout_width="wrap_content"
  3. android:layout_height="wrap_content"
  4. android:scrollbars="vertical"
  5. android:overScrollMode="never"
  6. android:fadingEdge="none"
  7. >
  8. <LinearLayout
  9. android:layout_width="wrap_content"
  10. android:layout_height="wrap_content"
  11. android:orientation="vertical"
  12. >
  13. <LinearLayout
  14. android:layout_marginTop="9dp"
  15. android:layout_width="wrap_content"
  16. android:layout_height="wrap_content"
  17. android:paddingLeft="6dp"
  18. android:paddingBottom="9dp"
  19. android:background="#ff00ff"
  20. >
  21. <LinearLayout
  22. android:layout_width="wrap_content"
  23. android:layout_height="wrap_content"
  24. android:orientation="vertical">
  25. <LinearLayout
  26. android:layout_width="wrap_content"
  27. android:layout_height="wrap_content"
  28. android:orientation="horizontal">
  29. <ImageView
  30. android:layout_width="wrap_content"
  31. android:layout_height="wrap_content"
  32. android:layout_marginTop="4dp"
  33. android:src="@drawable/shipindex"/>
  34. <LinearLayout
  35. android:layout_width="wrap_content"
  36. android:layout_height="wrap_content"
  37. android:layout_marginLeft="8dp"
  38. android:orientation="vertical">
  39. <LinearLayout
  40. android:layout_width="wrap_content"
  41. android:layout_height="wrap_content"
  42. android:layout_marginLeft="8dp"
  43. android:orientation="vertical">
  44. <LinearLayout
  45. android:layout_width="wrap_content"
  46. android:layout_height="wrap_content"
  47. android:orientation="horizontal">
  48. <TextView
  49. android:layout_width="wrap_content"
  50. android:layout_height="wrap_content"
  51. android:textColor="#7d8b9b"
  52. android:text="乔泰27"
  53. android:textSize="17dp"
  54. />
  55. <ImageView
  56. android:layout_width="wrap_content"
  57. android:layout_height="wrap_content"
  58. android:layout_marginLeft="12dp"
  59. android:layout_marginTop="4dp"
  60. android:src="@drawable/position"
  61. />
  62. <TextView
  63. android:layout_width="wrap_content"
  64. android:layout_height="wrap_content"
  65. android:textColor="#b6b6b6"
  66. android:layout_marginLeft="1dp"
  67. android:text="广州"
  68. android:textSize="12dp"
  69. />
  70. </LinearLayout>
  71. <LinearLayout
  72. android:layout_width="wrap_content"
  73. android:layout_height="wrap_content"
  74. android:orientation="horizontal">
  75. <TextView
  76. android:layout_width="wrap_content"
  77. android:layout_height="wrap_content"
  78. android:textColor="#cdcdcd"
  79. android:text="在线时间"
  80. android:textSize="11dp"
  81. />
  82. <TextView
  83. android:layout_width="wrap_content"
  84. android:layout_height="wrap_content"
  85. android:textColor="#cdcdcd"
  86. android:layout_marginLeft="8dp"
  87. android:text="19285小时28分"
  88. android:textSize="11dp"
  89. />
  90. </LinearLayout>
  91. </LinearLayout>
  92. </LinearLayout>
  93. </LinearLayout>
  94. <LinearLayout
  95. android:layout_marginTop="5dp"
  96. android:layout_width="wrap_content"
  97. android:layout_height="wrap_content"
  98. android:orientation="horizontal">
  99. <TextView
  100. android:layout_width="35dp"
  101. android:layout_height="wrap_content"
  102. android:textColor="#B7BEC1"
  103. android:textSize="13dp"
  104. android:layout_marginTop="1dp"
  105. android:layout_gravity="bottom"
  106. android:text="油仓" />
  107. <LinearLayout
  108. android:layout_width="wrap_content"
  109. android:layout_height="fill_parent"
  110. android:gravity="center_vertical"
  111. android:orientation="horizontal">
  112. <RelativeLayout
  113. android:layout_width="156dp"
  114. android:layout_height="13dp"
  115. android:background="#E5E4E3"
  116. >
  117. <LinearLayout
  118. android:layout_width="100dp"
  119. android:layout_height="13dp"
  120. android:background="#FF9B58"
  121. android:layout_alignParentLeft="true"
  122. android:gravity="center_horizontal"
  123. >
  124. <LinearLayout
  125. android:layout_width="wrap_content"
  126. android:layout_height="wrap_content"
  127. android:gravity="center_vertical"
  128. android:orientation="horizontal"
  129. >
  130. <TextView
  131. android:layout_width="wrap_content"
  132. android:layout_height="wrap_content"
  133. android:layout_gravity="center_vertical"
  134. android:textColor="#ffffff"
  135. android:textSize="9dp"
  136. android:text="80%"
  137. />
  138. </LinearLayout>
  139. </LinearLayout>
  140. </RelativeLayout>
  141. </LinearLayout>
  142. </LinearLayout>
  143. </LinearLayout>
  144. </ScrollView>

后台生成代码

  1. public class IndexFillData {
  2. /*做这个需要后台生成的布局文件,写点前台就写点后台,
  3. * 不然太多了一起写嵌套太多太麻烦了*/
  4. FragmentActivity fagb;
  5. public IndexFillData(FragmentActivity _fa,IndexDataModel _datamodel)
  6. {
  7. fagb = _fa;
  8. exefillDatahandler(_datamodel,_fa);
  9. }
  10. //http://jingyan.baidu.com/article/63acb44adbb74561fcc17e98.html
  11. private void fillHeadData(IndexDataModel _datamodel)
  12. {
  13. TextView tv = (TextView)fagb.findViewById(R.id.index_head_comapny);
  14. tv.setText(_datamodel.getCompanyName());
  15. TextView tv_shipcount = (TextView)fagb.findViewById(R.id.index_head_shipcount);
  16. tv_shipcount.setText(_datamodel.getShipCount()+"");
  17. TextView tv_totalMileage = (TextView)fagb.findViewById(R.id.index_head_totalMileage);
  18. tv_totalMileage.setText(_datamodel.getTotalMileage()+"");
  19. }
  20. private void fillOvilData(IndexDataModel _datamodel)
  21. {
  22. CreateOvilRoot(_datamodel);
  23. /*List<shipInfos> silist =_datamodel.getShipInfos();
  24. for(int i=0;i<silist.size();i++)
  25. {
  26. shipInfos si = silist.get(i);
  27. }*/
  28. }
  29. private void CreateOvilRoot(IndexDataModel _datamodel)
  30. {
  31. System.out.println("CreateOvilRoot1111:");
  32. LinearLayout ll_root = new LinearLayout(fagb.getApplicationContext());
  33. LinearLayout.LayoutParams ll_root_param = new LinearLayout.LayoutParams(
  34. LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
  35. ll_root.setLayoutParams(ll_root_param);
  36. ll_root.setOrientation(LinearLayout.VERTICAL);
  37. LinearLayout ll_f = new LinearLayout(fagb.getApplicationContext());
  38. LinearLayout.LayoutParams lp_param = new LinearLayout.LayoutParams(
  39. LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
  40. lp_param.setMargins(0,Dp2Px(9),0,0);
  41. ll_f.setPadding(6, 0, 0, 9);
  42. ll_f.setLayoutParams(lp_param);
  43. ll_f.setBackgroundColor(Color.parseColor("#ffffff"));
  44. LinearLayout ll_f_c = new LinearLayout(fagb.getApplicationContext());
  45. LinearLayout.LayoutParams ll_f_c_param = new LinearLayout.LayoutParams(
  46. LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
  47. ll_f_c.setLayoutParams(ll_f_c_param);
  48. ll_f_c.setOrientation(LinearLayout.VERTICAL);
  49. ll_f.addView(ll_f_c);
  50. ll_root.addView(ll_f);
  51. CreateChilOne(ll_f_c);
  52. new IndexFillDataTwo(fagb,_datamodel).CreateChilOne_2(ll_f_c);
  53. System.out.println("CreateOvilRoot99999:");
  54. ScrollView sv = (ScrollView)fagb.findViewById(R.id.index_sv);
  55. sv.addView(ll_root);
  56. }
  57. private void CreateChilOne(LinearLayout _parent)
  58. {
  59. LinearLayout ll_f = new LinearLayout(fagb.getApplicationContext());
  60. LinearLayout.LayoutParams ll_f_param = new LinearLayout.LayoutParams(
  61. RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
  62. ll_f.setLayoutParams(ll_f_param);
  63. ll_f.setOrientation(LinearLayout.HORIZONTAL);
  64. ImageView shiiw = new ImageView(fagb.getApplicationContext());
  65. LinearLayout.LayoutParams llfcc_cimg_param = new LinearLayout.LayoutParams(
  66. RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
  67. llfcc_cimg_param.setMargins(0, Dp2Px(4), 0, 0);
  68. shiiw.setLayoutParams(llfcc_cimg_param);
  69. shiiw.setImageDrawable(fagb.getResources().getDrawable(R.drawable.shipindex));
  70. ll_f.addView(shiiw);
  71. LinearLayout ll_c_f = new LinearLayout(fagb.getApplicationContext());
  72. LinearLayout.LayoutParams ll_f_c_param = new LinearLayout.LayoutParams(
  73. RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
  74. ll_c_f.setLayoutParams(ll_f_c_param);
  75. ll_c_f.setPadding(Dp2Px(8), 0, 0, 0);
  76. ll_c_f.setOrientation(LinearLayout.VERTICAL);
  77. ll_f.addView(ll_c_f);
  78. _parent.addView(ll_f);
  79. CreateChilTwo(ll_c_f);
  80. }
  81. private void CreateChilTwo(LinearLayout _parent)
  82. {
  83. LinearLayout ll_c_f = new LinearLayout(fagb.getApplicationContext());
  84. LinearLayout.LayoutParams ll_f_c_param = new LinearLayout.LayoutParams(
  85. RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
  86. ll_c_f.setLayoutParams(ll_f_c_param);
  87. ll_c_f.setPadding(Dp2Px(8), 0, 0, 0);
  88. ll_c_f.setOrientation(LinearLayout.VERTICAL);
  89. _parent.addView(ll_c_f);
  90. CreateChilThree(ll_c_f);
  91. }
  92. private void CreateChilThree(LinearLayout _parent)
  93. {
  94. LinearLayout ll_c_f = new LinearLayout(fagb.getApplicationContext());
  95. LinearLayout.LayoutParams ll_f_c_param = new LinearLayout.LayoutParams(
  96. RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
  97. ll_c_f.setLayoutParams(ll_f_c_param);
  98. ll_c_f.setOrientation(LinearLayout.HORIZONTAL);
  99. LinearLayout ll_c_f2 = new LinearLayout(fagb.getApplicationContext());
  100. ll_c_f2.setLayoutParams(ll_f_c_param);
  101. ll_c_f2.setOrientation(LinearLayout.HORIZONTAL);
  102. _parent.addView(ll_c_f);
  103. _parent.addView(ll_c_f2);
  104. CreateChilFour_1(ll_c_f);
  105. CreateChilFour_2(ll_c_f2);
  106. }
  107. private void CreateChilFour_1(LinearLayout _parent)
  108. {
  109. LinearLayout.LayoutParams tv_param = new LinearLayout.LayoutParams(
  110. RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
  111. TextView tv = new TextView(fagb);
  112. tv.setTextColor(Color.parseColor("#7d8b9b"));
  113. tv.setLayoutParams(tv_param);
  114. tv.setTextSize(17);
  115. tv.setText("乔泰27");
  116. ImageView ivarrow = new ImageView(fagb.getApplicationContext());
  117. LinearLayout.LayoutParams cimg_param = new LinearLayout.LayoutParams(
  118. RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
  119. cimg_param.setMargins(Dp2Px(12), Dp2Px(4), 0, 0);
  120. ivarrow.setLayoutParams(cimg_param);
  121. ivarrow.setImageDrawable(fagb.getResources().getDrawable(R.drawable.position));
  122. TextView tv_position = new TextView(fagb);
  123. tv_position.setTextColor(Color.parseColor("#b6b6b6"));
  124. LinearLayout.LayoutParams tv_position_param = new LinearLayout.LayoutParams(
  125. RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
  126. tv_position_param.setMargins(Dp2Px(1), 0, 0, 0);
  127. tv_position.setLayoutParams(tv_position_param);
  128. tv_position.setTextSize(12);
  129. tv_position.setText("广州");
  130. _parent.addView(tv);
  131. _parent.addView(ivarrow);
  132. _parent.addView(tv_position);
  133. }
  134. private void CreateChilFour_2(LinearLayout _parent)
  135. {
  136. LinearLayout.LayoutParams tv_param = new LinearLayout.LayoutParams(
  137. RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
  138. TextView tv = new TextView(fagb);
  139. tv.setTextColor(Color.parseColor("#cdcdcd"));
  140. tv.setLayoutParams(tv_param);
  141. tv.setTextSize(11);
  142. tv.setText("在线时间");
  143. TextView tv_time = new TextView(fagb);
  144. tv_time.setTextColor(Color.parseColor("#cdcdcd"));
  145. LinearLayout.LayoutParams tv_time_param = new LinearLayout.LayoutParams(
  146. RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
  147. tv_time_param.setMargins(Dp2Px(8), 0, 0, 0);
  148. tv_time.setLayoutParams(tv_time_param);
  149. tv_time.setTextSize(11);
  150. tv_time.setText("19285小时28分");
  151. _parent.addView(tv);
  152. _parent.addView(tv_time);
  153. }
  154. public int Dp2Px(float dp) {
  155. final float scale = fagb.getResources().getDisplayMetrics().density;
  156. return (int) (dp * scale + 0.5f);
  157. }
  158. private void fillData(IndexDataModel _datamodel)
  159. {
  160. fillHeadData(_datamodel);
  161. fillOvilData(_datamodel);
  162. }
  163. private void exefillDatahandler(IndexDataModel _datamodel,FragmentActivity _fa)
  164. {
  165. Message m = new Message();m.obj=_datamodel;
  166. Handler crefillDatahandler = crefillDatahandler(_fa);
  167. crefillDatahandler.sendMessage(m);
  168. }
  169. private Handler crefillDatahandler(FragmentActivity _fa){
  170. Handler fillDatahandler = new Handler(_fa.getMainLooper()){
  171. @Override
  172. public void handleMessage(Message msg) {
  173. try{
  174. fillData((IndexDataModel)msg.obj);
  175. }
  176. catch (Exception e) {
  177. }
  178. }
  179. };
  180. return fillDatahandler;
  181. }
  182. }

two:

  1. public class IndexFillDataTwo {
  2. FragmentActivity fagb;
  3. public IndexFillDataTwo(FragmentActivity _fa,IndexDataModel _datamodel)
  4. {
  5. fagb = _fa;
  6. }
  7. public void CreateChilOne_2(LinearLayout _parent)
  8. {
  9. //油仓
  10. LinearLayout ll_f = new LinearLayout(fagb.getApplicationContext());
  11. LinearLayout.LayoutParams ll_f_param = new LinearLayout.LayoutParams(
  12. RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
  13. ll_f_param.setMargins(0, Dp2Px(5), 0, 0);
  14. ll_f.setLayoutParams(ll_f_param);
  15. ll_f.setOrientation(LinearLayout.HORIZONTAL);
  16. _parent.addView(ll_f);
  17. CreateChilTwo(ll_f);
  18. }
  19. private void CreateChilTwo(LinearLayout _parent)
  20. {
  21. LinearLayout.LayoutParams tv_param = new LinearLayout.LayoutParams(
  22. Dp2Px(35),LinearLayout.LayoutParams.WRAP_CONTENT);
  23. tv_param.setMargins(0, Dp2Px(1), 0, 0);
  24. tv_param.gravity=Gravity.BOTTOM;
  25. TextView tv = new TextView(fagb);
  26. tv.setTextColor(Color.parseColor("#B7BEC1"));
  27. tv.setLayoutParams(tv_param);
  28. tv.setTextSize(13);
  29. tv.setText("油仓");
  30. LinearLayout ll_f = new LinearLayout(fagb.getApplicationContext());
  31. LinearLayout.LayoutParams ll_f_param = new LinearLayout.LayoutParams(
  32. RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.MATCH_PARENT);
  33. ll_f.setLayoutParams(ll_f_param);
  34. ll_f.setOrientation(LinearLayout.HORIZONTAL);
  35. ll_f.setGravity(Gravity.CENTER_VERTICAL);
  36. _parent.addView(tv);
  37. _parent.addView(ll_f);
  38. CreateChilThree(ll_f);
  39. }
  40. private void CreateChilThree(LinearLayout _parent)
  41. {
  42. RelativeLayout ll_f = new RelativeLayout(fagb.getApplicationContext());
  43. LinearLayout.LayoutParams ll_f_param = new LinearLayout.LayoutParams(
  44. Dp2Px(156),Dp2Px(13));
  45. ll_f.setLayoutParams(ll_f_param);
  46. ll_f.setGravity(Gravity.CENTER_VERTICAL);
  47. ll_f.setBackgroundColor(Color.parseColor("#E5E4E3"));
  48. _parent.addView(ll_f);
  49. CreateChilFour(ll_f);
  50. }
  51. private void CreateChilFour(RelativeLayout _parent)
  52. {
  53. RelativeLayout.LayoutParams ll_f_param = new RelativeLayout.LayoutParams(
  54. Dp2Px(100),Dp2Px(13));
  55. ll_f_param.addRule(RelativeLayout.ALIGN_PARENT_LEFT,RelativeLayout.TRUE);
  56. LinearLayout ll_f = new LinearLayout(fagb.getApplicationContext());
  57. ll_f.setLayoutParams(ll_f_param);
  58. ll_f.setBackgroundColor(Color.parseColor("#FF9B58"));
  59. ll_f.setGravity(Gravity.CENTER_HORIZONTAL);
  60. _parent.addView(ll_f);
  61. CreateChilFive(ll_f);
  62. }
  63. private void CreateChilFive(LinearLayout _parent)
  64. {
  65. LinearLayout.LayoutParams ll_f_param = new LinearLayout.LayoutParams(
  66. LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
  67. LinearLayout ll_f = new LinearLayout(fagb.getApplicationContext());
  68. ll_f.setLayoutParams(ll_f_param);
  69. ll_f.setOrientation(LinearLayout.HORIZONTAL);
  70. ll_f.setBackgroundColor(Color.parseColor("#FF9B58"));
  71. ll_f.setGravity(Gravity.CENTER_VERTICAL);
  72. LinearLayout.LayoutParams tv_param = new LinearLayout.LayoutParams(
  73. LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
  74. tv_param.gravity=Gravity.CENTER_VERTICAL;
  75. TextView tv = new TextView(fagb);
  76. tv.setTextColor(Color.parseColor("#ffffff"));
  77. tv.setLayoutParams(tv_param);
  78. tv.setTextSize(9);
  79. tv.setText("80%");
  80. ll_f.addView(tv);
  81. _parent.addView(ll_f);
  82. }
  83. public int Dp2Px(float dp) {
  84. final float scale = fagb.getResources().getDisplayMetrics().density;
  85. return (int) (dp * scale + 0.5f);
  86. }
  87. }

欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价