我必须在LinearLayout上添加多个按钮。但我想把这些按钮分开5px。我无法找到设置Button边距的方法。任何想法?如何在运行时为按钮添加边距?
回答
使用按钮元素的layout_margin属性。这不行吗?
<Button android:layout_margin="5px" (...)/>
编辑
当创建Java中的按钮,的LayoutParams用于指定页边距等。
Button button = new Button();
(....)
params = new LinearLayout.LayoutParams();
params.leftMargin = 5;
(set params as you need)
parent.addView(button, params);
您使用的LayoutParams必须与您添加按钮的布局相匹配(请参阅http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html)。对于LinearLayout,使用LinearLayout.LayoutParams并相应地设置* Margin字段。
将按钮添加到按钮也可以解决您的问题。检查了这一点 http://developer.android.com/resources/tutorials/views/hello-formstuff.html#CustomButton
谢谢,但是填充会在按钮区域内添加空间,例如边缘和按钮文本之间的空间。 –
试试这个:setGravity(int):\t当文本小于视图时,指定如何通过视图的x轴和/或y轴对齐文本。 – jsp
试试这个:
//Assuming your button is in a LinearLayout as stated
LinearLayout.LayoutParams params = myButton.getLayoutParams();
params.setMargins(0, 0, 0, 0) //left, top, right, bottom
myButton.setLayoutParams(params);
也适用,除了setLayoutParams是无用的。和getLayoutParams可能为空。你怎么知道它是一个LinearLayout.LayoutParams按钮? – njzk2
我不是在编写一个程序来通过测试,这是一个普遍的想法。正如我在评论中所述,我假设他的按钮位于LinearLayout中,正如他在其原始文章中所述。在这个链接中:http://developer.android.com/reference/android/view/View.html#getLayoutParams(),它声明:“当一个视图附加到父ViewGroup时,这个方法不能返回null 。在这种情况下,它不会为空。 – kcoppock
@ kcoppock, 谢谢,我认为你是正确的,它不会返回null,根据你的假设,它在LinearLayout中。但是,由于该按钮稍后会添加到该布局,在这种情况下,它返回null。谢谢你们! –
MarginLayoutParams params = (MarginLayoutParams) vector8.getLayoutParams();
params.width = 200; params.leftMargin = 100; params.topMargin = 200;
vector8.setLayoutParams(params);
需要在使用的类型:MarginLayoutParams
这对我有帮助 –
使用这个代码在运行时设置的容
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) btnContainer.getLayoutParams();
params.setMargins(5, 50, 10, 0); //left, top, right, bottom
view_whwre_set_margin.setLayoutParams(params);
- 1. 在活动中为按钮添加边距
- 2. Android:在运行时添加按钮
- 3. 如何在按下按钮时添加到jlabel的x边界
- 4. 按钮内边距
- 5. 在运行时向JQuery按钮组添加单选按钮
- 6. 如何在运行时将按钮点击添加剪贴画
- 7. 如何在运行时将按钮添加到布局
- 8. 如何在android中运行时添加按钮数
- 9. 如何在扩展LinearLayout时添加行边距?
- 10. Metro UI - 在右侧对齐的按钮之间添加边距
- 11. 如何将边框添加到按钮?
- 12. 如何在IE7中添加负边距?
- 13. 如何在Swift中添加边距
- 14. 如何在javascript中添加一行时添加按钮
- 15. 如何在单选按钮之间添加边距并且可绘制?
- 16. 如何为等间距按钮添加故事板约束
- 17. 按钮边距的问题
- 18. 从无边距按钮
- 19. 如何覆盖单个按钮的Nimbus按钮边距
- 20. 如何在JTable中添加新行,同时按一下按钮
- 21. 如何在运行时创建按钮?
- 22. 在运行时在图像视图顶部添加按钮
- 23. 添加按钮与文本动态UI在运行时在Unity
- 24. 在运行时在objective-c中添加按钮控件Cocoa
- 25. 当按钮集中时减少按钮的边距
- 26. 如何为android中的按钮添加边框
- 27. 在窗口边框上添加按钮
- 28. 如何给段落添加页边距?
- 29. 如何向tkinter窗口添加边距?
- 30. 如何在Flex DataGrid下拉按钮itemRenderer中添加间距?
我是新来的Android的! 我很困惑,如果我有它在XML中,那么我怎样才能使用 动态创建? 我的代码看起来像这样, btnSend = new Button(this); btnSend.setText(“Send ...”); btnSend.setBackgroundResource(R.drawable.red_button); btnSend.setOnClickListener(新View.OnClickListener(){ \t \t \t \t \t \t公共无效的onClick(视图v){ \t \t \t \t // TODO自动生成方法存根 \t \t \t \t \t \t \t \t //代码这里... \t \t \t \t \t \t \t} \t \t}); –
我编辑我的帖子有关动态按钮创建的信息 – njzk2
非常感谢您的帮助。我很抱歉, 它不会做我想要的东西! 说, LinearLayout.LayoutParams的lParam =新LinearLayout.LayoutParams( \t \t LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams。包装内容 ); lParam.setMargins(20,20,20,20); 它为LinearLayout添加了余量。不是按钮。例如,它有两个并排的按钮,它不会*增加按钮之间的空间!这是我的目标! 谢谢! –