分类: Android平台
2015-11-17 22:25:18
(1)关于控件的动态加载。
此处主要演示动态创建一个控件,该控件不是通过findViewById从布局文件中得到的,也不是动态加载布局,而只是单单动态的添加自己需要的控件。
1.
mDefaultWelcomeView = new
ImageView(this);//此处创建ImageView控件。后面的参数this是context参数,表示当前环境。
2. mDefaultWelcomeView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 通过匿名参数LayoutParams,设置该
3. ImageView的显示形式。需要注意的是默认情况下是LinearLayout的LayoutParams。也就是线性布局的布局参数。如果是别的布局的布局参数。可以看到下面的初始化方法。
4.
5. ImageView linkView = new ImageView(this);
6. RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams((int) getResources().getDimension(R.dimen.welcome_link_width),
7. (int) getResources().getDimension(R.dimen.welcome_link_hight));//相对布局的布局参数。 此处参数初始化,使用的具体的值。上一个布局参数使用的是
8.
MATCH_PARENT。这两种值可以混合使用。
9. params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);//相对布局中可以给布局参数添加规则,比如此处的父控件的底部和右部
10. params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
11. params.bottomMargin = getResources().getDimensionPixelSize(R.dimen.welcome_link_margin_bottom);//添加margin
12. linkView.setLayoutParams(params);将布局参数赋给相应的控件。
13. linkView.setBackgroundDrawable(getResources().getDrawable(R.drawable.welcome_page_icon));
14. linkView.setVisibility(View.GONE);
15.
16. //设置显示时间
17. showTimeView=new TextView(this);
18. RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
19. params1.addRule(RelativeLayout.ALIGN_PARENT_TOP);
20. params1.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
21. showTimeView.setLayoutParams(params1);
22. showTimeView.setBackgroundColor(Color.BLACK);
23. showTimeView.setText("广告推广 "+timer+"s");
24. showTimeView.setTextColor(Color.WHITE);
25. showTimeView.setBackgroundResource(R.drawable.text_view_border);
26. showTimeView.setAlpha(60);//设置透明度 值为0~255
27. showTimeView.setPadding(40, 35, 80, 40)//设置padding
(2)关于背景选择器的使用
使用方法与边框的使用方法相同。
(3)关于自定义边框
由于显示的广告倒计时需要采用半圆形的边框,所以需要自己进行编写。采用xml进行设置。
android:bottomRightRadius="40dp" 右下半径
/>
showTimeView.setBackgroundResource(R.drawable.text_view_border); 使用边框