以编程方式将属性(边距,重力等)设置为Android视图(不含XML)

let*_*nda 5 user-interface android

我需要在我的.java活动类中创建一个GUI(布局+视图)(我知道它更灵活,更易于使用.xml布局文件,但我现在不想使用它).

我找不到任何setGravity()(但是一个"Gravity"对象,我无法想象如何使用)或任何set setMargin()方法的"View"对象.

最简单的方法是什么?

感谢名单.

Emi*_*ile 7

用于设置组件的边距.以下内容保留了先前设置的现有边距,并将左边距设置为零.

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);
Run Code Online (Sandbox Code Playgroud)


Vis*_*ath 1

您可以将重力添加到“布局”而不是“控件”。尝试使用 setGravity() 将重力设置为任何线性/相对或框架布局;。

例如:

LinearLayout lll = (LinearLayout) findViewById(R.id.layoutname);
        lll.setGravity(Gravity.CENTER);
Run Code Online (Sandbox Code Playgroud)