在android,我们也可以经常使用java代码来构建我们的布局控件,例如下面的代码就是使用java代码来构建一个相对布局:
public RelativeLayout
getLayout(final Activity activity,
RequestQueue requestQueue) {
RelativeLayout relaytiveLayout = new RelativeLayout(activity);
// 获取手机的屏幕宽度
DisplayMetrics metrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
// 获取手机的宽度
int height = metrics.heightPixels;
// /设置布局的参数
relaytiveLayout.setLayoutParams(new LayoutParams(
LayoutParams.MATCH_PARENT, height / 3));
//创建ViewPager对象
final ViewPager viewPager = new ViewPager(activity);
viewPager.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
viewPager.setBackgroundResource(R.drawable.image_top_default);
// 设置适配器
viewPager.setAdapter(pagerAdapter);
//添加到相对布局中
relaytiveLayout.addView(viewPager);
// 放置小圆点
LinearLayout linearLayaout_dot = new LinearLayout(context);
linearLayaout_dot.setLayoutParams(new LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
linearLayaout_dot.setGravity(Gravity.RIGHT);
linearLayaout_dot.setId(444);
// 添加规则
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
for (int i = 0; i < 3; i++) {
// 生成图片控件
ImageView imageview = new ImageView(context);
imageview.setLayoutParams(new LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
imageview.setPadding(5, 3, 5, 3);
imageview.setBackgroundResource(R.drawable.dot_1);
imageview.setId(5 + i);
dot_views.add(imageview);
linearLayaout_dot.addView(imageview);
}
//添加
relaytiveLayout.addView(linearLayaout_dot, params);
return relaytiveLayout;
}