android开发,程序中如何修改控件的相对布局
现在我有了一个RelativeLayout,这之中放了一个button。我要在java程序中,添加一个新的button放在这个button之上。怎么做?xml文件<Rel...
现在我有了一个RelativeLayout,这之中放了一个button。我要在java程序中,添加一个新的button放在这个button之上。怎么做?
xml文件
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/RelatLyt">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add" />
</RelativeLayout>
注意,是在java程序中动态添加,不是在xml文件里添加。而且动态添加的控件要有参数android:layout_above="@+id/button1" 展开
xml文件
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/RelatLyt">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add" />
</RelativeLayout>
注意,是在java程序中动态添加,不是在xml文件里添加。而且动态添加的控件要有参数android:layout_above="@+id/button1" 展开
4个回答
展开全部
RelativeLayout layout =(RelativeLayout) findViewById(R.id.layout);
Button but = new Button(this);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(50,50);
lp.addRule(RelativeLayout.ALIGN_TOP,R.id.button);
lp.addRule(RelativeLayout.ALIGN_RIGHT,R.id.button);
layout.addView(but, lp);
关键是 addRule 方法 看代码很显然,是指定对齐button的顶余顷物端和右竖液端。
另一种乎者思路是,先在xml里配置好两个button。不过先把上面的button的visibility 设置为gone,用到的时候在java代码里设置为visible。
Button but = new Button(this);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(50,50);
lp.addRule(RelativeLayout.ALIGN_TOP,R.id.button);
lp.addRule(RelativeLayout.ALIGN_RIGHT,R.id.button);
layout.addView(but, lp);
关键是 addRule 方法 看代码很显然,是指定对齐button的顶余顷物端和右竖液端。
另一种乎者思路是,先在xml里配置好两个button。不过先把上面的button的visibility 设置为gone,用到的时候在java代码里设置为visible。
展开全部
在它上散薯面盖一个button代码是可以实现的,但是你说的above,真的没试过。
既然是要多个button出现,那么xml里面肯定是可以实现的,你可以再一个位置添加N个button,显示一个,隐藏其他就行,不明白你在一个按钮上叠一个按钮显示干什么?难道你要在一个位置同时显示2个甚至尺掘毁多个按钮,陵备都可以实现点击效果?
既然是要多个button出现,那么xml里面肯定是可以实现的,你可以再一个位置添加N个button,显示一个,隐藏其他就行,不明白你在一个按钮上叠一个按钮显示干什么?难道你要在一个位置同时显示2个甚至尺掘毁多个按钮,陵备都可以实现点击效果?
追问
在它之上的意思不是重叠在上面,而是相对布局android:layout_above="@+id/button1"
追答
above就是盖在上面啊,在id/button1这个按钮的上面,是这个意思,我想是你对相对布局理解有些误区。相对布局在多个按钮重叠在一个位置显示是很常用的,我想你的需求用显示某个按钮,隐藏其他按钮应该能解决。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你要在java程序中创建relativeLayout对象,定义一个Button对象,实现它们就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同学,我的建议是你先说一下你要实现的效果吧,你的思路或许不对,现在很少有这样搞布局文件的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询