请问如何用代码写出这样的布局界面?

xiangding 2013-08-22 10:13:11

不配置layout这些xml文件。 完全用java代码写出上面的布局, 有人能写出来吗?
...全文
227 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangding 2013-09-15
  • 打赏
  • 举报
回复
感谢2楼,好了, 有一个属性配错了, 刚接触android不久,通过这个学到不少布局的使用。
黄小楼 2013-08-23
  • 打赏
  • 举报
回复
嘿嘿。。只能说。要求一定要要用代码写的真心蛋疼啊。。
tcmakebest 2013-08-23
  • 打赏
  • 举报
回复
明明可以用XML解决的问题,非要用代码解决,不是自虐吗? 以前用代码写过拍照用的界面,不是一般的麻烦!2楼的真有耐心啊!
xiangding 2013-08-23
  • 打赏
  • 举报
回复
引用 8 楼 guoyoulei520 的回复:
[quote=引用 7 楼 xiangding 的回复:] [quote=引用 2 楼 guoyoulei520 的回复:] [quote=引用 1 楼 xiangding 的回复:] 顶部的高是40, 底部下是40,中间是自动适应屏幕。 最好是用RelativeLayout的方式,用代码创建。
你在挑战我们的智商吗?想让我们帮你写就说下嘛
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       // setContentView(R.layout.activity_sec);
       RelativeLayout rl = new RelativeLayout(this);
       RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT);
       setContentView(rl,lp);
      
       
       //top view
       RelativeLayout topLayout =new RelativeLayout(this);
       RelativeLayout.LayoutParams topLParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,40);
       topLayout.setBackgroundColor(Color.BLUE);
       topLayout.setId(TOP_ID);
       
       rl.addView(topLayout,topLParams);
       
       //center view
       RelativeLayout centerLayout =new RelativeLayout(this);
       RelativeLayout.LayoutParams centerLParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT);
       
       centerLayout.setBackgroundColor(Color.RED);
       centerLParams.addRule(RelativeLayout.BELOW, TOP_ID);
       
       rl.addView(centerLayout,centerLParams);
       
       //bottom view
       RelativeLayout botLayout =new RelativeLayout(this);
       RelativeLayout.LayoutParams botLParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,40);
       botLayout.setBackgroundColor(Color.YELLOW);
       botLParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,RelativeLayout.TRUE);
       
       rl.addView(botLayout,botLParams);
       
       
      
        

    }
[/quote] 我试了,中间绘错了,你确认这个OK?[/quote] 公司试的ok啊[/quote] 我这里显示的是中间部分是到底了, 只是botLayout正好是覆盖在centerLayout上面。 也就是说centerLayout的bottom和botLayout的bottom是一样的,
凉凉二点凉 2013-08-23
  • 打赏
  • 举报
回复
引用 7 楼 xiangding 的回复:
[quote=引用 2 楼 guoyoulei520 的回复:] [quote=引用 1 楼 xiangding 的回复:] 顶部的高是40, 底部下是40,中间是自动适应屏幕。 最好是用RelativeLayout的方式,用代码创建。
你在挑战我们的智商吗?想让我们帮你写就说下嘛
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       // setContentView(R.layout.activity_sec);
       RelativeLayout rl = new RelativeLayout(this);
       RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT);
       setContentView(rl,lp);
      
       
       //top view
       RelativeLayout topLayout =new RelativeLayout(this);
       RelativeLayout.LayoutParams topLParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,40);
       topLayout.setBackgroundColor(Color.BLUE);
       topLayout.setId(TOP_ID);
       
       rl.addView(topLayout,topLParams);
       
       //center view
       RelativeLayout centerLayout =new RelativeLayout(this);
       RelativeLayout.LayoutParams centerLParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT);
       
       centerLayout.setBackgroundColor(Color.RED);
       centerLParams.addRule(RelativeLayout.BELOW, TOP_ID);
       
       rl.addView(centerLayout,centerLParams);
       
       //bottom view
       RelativeLayout botLayout =new RelativeLayout(this);
       RelativeLayout.LayoutParams botLParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,40);
       botLayout.setBackgroundColor(Color.YELLOW);
       botLParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,RelativeLayout.TRUE);
       
       rl.addView(botLayout,botLParams);
       
       
      
        

    }
[/quote] 我试了,中间绘错了,你确认这个OK?[/quote] 公司试的ok啊
凉凉二点凉 2013-08-23
  • 打赏
  • 举报
回复
引用 1 楼 xiangding 的回复:
顶部的高是40, 底部下是40,中间是自动适应屏幕。 最好是用RelativeLayout的方式,用代码创建。
你在挑战我们的智商吗?想让我们帮你写就说下嘛
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       // setContentView(R.layout.activity_sec);
       RelativeLayout rl = new RelativeLayout(this);
       RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT);
       setContentView(rl,lp);
      
       
       //top view
       RelativeLayout topLayout =new RelativeLayout(this);
       RelativeLayout.LayoutParams topLParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,40);
       topLayout.setBackgroundColor(Color.BLUE);
       topLayout.setId(TOP_ID);
       
       rl.addView(topLayout,topLParams);
       
       //center view
       RelativeLayout centerLayout =new RelativeLayout(this);
       RelativeLayout.LayoutParams centerLParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT);
       
       centerLayout.setBackgroundColor(Color.RED);
       centerLParams.addRule(RelativeLayout.BELOW, TOP_ID);
       
       rl.addView(centerLayout,centerLParams);
       
       //bottom view
       RelativeLayout botLayout =new RelativeLayout(this);
       RelativeLayout.LayoutParams botLParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,40);
       botLayout.setBackgroundColor(Color.YELLOW);
       botLParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,RelativeLayout.TRUE);
       
       rl.addView(botLayout,botLParams);
       
       
      
        

    }
xiangding 2013-08-23
  • 打赏
  • 举报
回复
引用 2 楼 guoyoulei520 的回复:
[quote=引用 1 楼 xiangding 的回复:] 顶部的高是40, 底部下是40,中间是自动适应屏幕。 最好是用RelativeLayout的方式,用代码创建。
你在挑战我们的智商吗?想让我们帮你写就说下嘛
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       // setContentView(R.layout.activity_sec);
       RelativeLayout rl = new RelativeLayout(this);
       RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT);
       setContentView(rl,lp);
      
       
       //top view
       RelativeLayout topLayout =new RelativeLayout(this);
       RelativeLayout.LayoutParams topLParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,40);
       topLayout.setBackgroundColor(Color.BLUE);
       topLayout.setId(TOP_ID);
       
       rl.addView(topLayout,topLParams);
       
       //center view
       RelativeLayout centerLayout =new RelativeLayout(this);
       RelativeLayout.LayoutParams centerLParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT);
       
       centerLayout.setBackgroundColor(Color.RED);
       centerLParams.addRule(RelativeLayout.BELOW, TOP_ID);
       
       rl.addView(centerLayout,centerLParams);
       
       //bottom view
       RelativeLayout botLayout =new RelativeLayout(this);
       RelativeLayout.LayoutParams botLParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,40);
       botLayout.setBackgroundColor(Color.YELLOW);
       botLParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,RelativeLayout.TRUE);
       
       rl.addView(botLayout,botLParams);
       
       
      
        

    }
[/quote] 我试了,中间绘错了,你确认这个OK?
xiangding 2013-08-23
  • 打赏
  • 举报
回复
多谢, 对android这些布局,代码写理解不好,
freesonfish 2013-08-23
  • 打赏
  • 举报
回复
一个LinearLayout同样可以,更加简单
liaicheng12 2013-08-23
  • 打赏
  • 举报
回复
引用 2 楼 guoyoulei520 的回复:
[quote=引用 1 楼 xiangding 的回复:] 顶部的高是40, 底部下是40,中间是自动适应屏幕。 最好是用RelativeLayout的方式,用代码创建。
你在挑战我们的智商吗?想让我们帮你写就说下嘛
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       // setContentView(R.layout.activity_sec);
       RelativeLayout rl = new RelativeLayout(this);
       RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT);
       setContentView(rl,lp);
      
       
       //top view
       RelativeLayout topLayout =new RelativeLayout(this);
       RelativeLayout.LayoutParams topLParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,40);
       topLayout.setBackgroundColor(Color.BLUE);
       topLayout.setId(TOP_ID);
       
       rl.addView(topLayout,topLParams);
       
       //center view
       RelativeLayout centerLayout =new RelativeLayout(this);
       RelativeLayout.LayoutParams centerLParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,RelativeLayout.LayoutParams.MATCH_PARENT);
       
       centerLayout.setBackgroundColor(Color.RED);
       centerLParams.addRule(RelativeLayout.BELOW, TOP_ID);
       
       rl.addView(centerLayout,centerLParams);
       
       //bottom view
       RelativeLayout botLayout =new RelativeLayout(this);
       RelativeLayout.LayoutParams botLParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,40);
       botLayout.setBackgroundColor(Color.YELLOW);
       botLParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM,RelativeLayout.TRUE);
       
       rl.addView(botLayout,botLParams);
       
       
      
        

    }
[/quote]嘿嘿哈哈呵呵,真是好人啊。
xiangding 2013-08-22
  • 打赏
  • 举报
回复
顶部的高是40, 底部下是40,中间是自动适应屏幕。 最好是用RelativeLayout的方式,用代码创建。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧