Android如何实现类似下面的布局。
答案:2 悬赏:70 手机版
解决时间 2021-01-04 08:55
- 提问者网友:龅牙恐龙妹
- 2021-01-03 12:56
短框是一个view 长框也是一个view 然后点击短框的view在他下面会出现长框。
短框是按照每行4个根据数量依次排列的.是可变长的。
这样的布局android里面有什么控件可以结合实现的吗?
最佳答案
- 五星知识达人网友:千杯敬自由
- 2021-01-03 13:09
个无聊有点笨的方法,点击一个然后向底下的view显示,然后给个对应的背景图,写个并排4个button,然后下面一个长的view隐藏,需要几排include几个
全部回答
- 1楼网友:人间朝暮
- 2021-01-03 14:22
你的问题应该是要动态生成空间吧。
下面的答案可以参考下。
首先要却这个界面的布局,是absolutelayout,relativelayout还是其他,然后就可以再里面添加控件了:
public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
//确定界面的布局
absolutelayout abslayout=new absolutelayout (this);
setcontentview(abslayout);
//创建一个button按钮
button btn1 = new button(this);
btn1.settext(”this is a button”);
btn1.setid(1);
//确定这个控件的大小和位置
absolutelayout.layoutparams lp1 =
new absolutelayout.layoutparams(
viewgroup.layoutparams.wrap_content,
viewgroup.layoutparams.wrap_content,
0,100);
abslayout.addview(btn1, lp1 );
}
一个界面可以布置一个布局,可以多个布局一起设计:
public void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
//设置界面的布局
relativelayout relativelayout = new relativelayout(this);
setcontentview(relativelayout);
//添加一个absolutelayout子布局,并给这个布局添加一个button
absolutelayout abslayout=new absolutelayout (this);
abslayout.setid(11);
button btn1 = new button(this);
btn1.settext(”this is a abslayout button”);
btn1.setid(1);
absolutelayout.layoutparams lp0 = new absolutelayout.layoutparams(viewgroup.layoutparams.wrap_content,
viewgroup.layoutparams.wrap_content,100,0);
abslayout.addview(btn1, lp0 );
//将这个子布局添加到主布局中
relativelayout.layoutparams lp1 = new relativelayout.layoutparams(viewgroup.layoutparams.wrap_content, viewgroup.layoutparams.wrap_content);
lp1.addrule(relativelayout.align_parent_top);
lp1.addrule(relativelayout.center_horizontal, relativelayout.true);
relativelayout.addview(abslayout ,lp1);
//再添加一个子布局
relativelayout relativelayout1 = new relativelayout(this);
button btn2 = new button(this);
btn2.settext(”this is a relativelayout1 button”);
btn2.setid(2);
relativelayout.layoutparams lp2 = new relativelayout.layoutparams(viewgroup.layoutparams.fill_parent, viewgroup.layoutparams.wrap_content);
lp2.addrule(relativelayout.align_parent_top);
lp2.addrule(relativelayout.center_horizontal, relativelayout.true);
relativelayout1.addview(btn2 ,lp2);
//将这个布局添加到主布局中
relativelayout.layoutparams lp11 = new relativelayout.layoutparams(viewgroup.layoutparams.wrap_content, viewgroup.layoutparams.wrap_content);
lp11.addrule(relativelayout.below ,11);
relativelayout.addview(relativelayout1 ,lp11);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯