【问题标题】:Set attributes (margin, gravity, etc...) to an Android view programmatically (without XML)以编程方式将属性(边距、重力等)设置为 Android 视图(无 XML)
【发布时间】:2011-02-12 17:57:55
【问题描述】:
我需要在我的 .java 活动类中创建一个 GUI(布局+视图)(我知道使用 .xml 布局文件更加灵活和容易,但我现在不想使用它)。
我找不到任何 setGravity()(但我不知道如何使用的“Gravity”对象)或“View”对象的任何 setMargin() 方法。
最简单的方法是什么?
谢谢。
【问题讨论】:
标签:
android
user-interface
【解决方案1】:
用于设置组件的边距。以下将现有边距保留为先前设置,并将左边距设置为零。
TextView title = ((TextView)findViewById(R.id.default_panel_title))
final ViewGroup.MarginLayoutParams lpt =(MarginLayoutParams)title.getLayoutParams();
lpt.setMargins(0,lpt.topMargin,lpt.rightMargin,lpt.bottomMargin);
title.setLayoutParams(lpt);
【解决方案2】:
您可以将重力添加到“布局”而不是“控件”。尝试使用 setGravity() 为任何线性/相对或框架布局设置重力; .
例如:
LinearLayout lll = (LinearLayout) findViewById(R.id.layoutname);
lll.setGravity(Gravity.CENTER);