以编程方式绘制Android UI

时间:2011-07-13 14:14:05

标签: android android-layout

如果我想以编程方式绘制Android UI,这是最好的布局......我的应用程序将从服务器捕获一个字符串,并根据此字符串,它将绘制UI元素,如按钮 例如,如果它捕获1001,则意味着绘制,不绘制,不绘制,DRAW ......

4 个答案:

答案 0 :(得分:3)

您可以拥有包含可绘制内容的XML布局,然后根据收到的内容将某些组件的可见性设置为GONE

答案 1 :(得分:1)

以编程方式获得良好的布局对于复杂的布局(这似乎是你想要的)来说是一个真正的痛苦。

我建议创建一个包含您要制作的所有元素的布局。您可以根据需要安排它们。然后,在运行时,您可以将其属性设置为View.GONE或View.INVISIBLE。

否则,使用的绝对最简单的布局是LinearLayout。您所要做的就是创建并添加视图,它们将叠加在一起。

更困难但功能强大的布局是FrameLayout和RelativeLayout。这些允许您在任何地方设置小部件,但您必须根据重力和LayoutParams进行调整,这可能会以编程方式变得非常复杂。

答案 2 :(得分:0)

尝试使用SurfaceView。它提供了一个空白的绘图表面。

百里

答案 3 :(得分:0)

您可以通过首先获取父视图,然后将新的子视图添加到其中来以编程方式添加视图(按钮,TextView,布局)。这是一个例子。

//This is inside an Activity class, any function you designate
LinearLayout myLayout = (LinearLayout)findViewById(R.id.mylayout);
Button myButton = new myButton(this);
myButton.setText("Click Me");
myLayout.addView(myButton);

修改

如果您也想创建LinearLayou,可以像这样设置它。

//This is inside an Activity class, any function you designate
LinearLayout myLayout = new LinearLayout(this);
Button myButton = new myButton(this);
myButton.setText("Click Me");
myLayout.addView(myButton);
setContentView(myLayout);