有没有办法在Android中动态添加和定位图像到线性布局?在PHP我可以回应一个图像标签并使用CSS来定位它,不知道如何在Android中解决这个问题,因为xml似乎是非常严格的预定义。
答案 0 :(得分:1)
您可以通过调用ViewGroup.addView(View)方法将视图添加到任何ViewGroup。 但是,这是一种添加视图的模糊方式。首选的是您首先为给定的布局创建LayoutParams(考虑到视图)这将允许您更密切地控制视图及其与父视图的关系。
以下是将所有内容组合在一起的示例:
class MyActivity extends Activity {
@Override public void onCreate(Bundle icicle) {
super.onCreate(icicle)
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
// Create 5 view to take up a small amount of space.
View tmp = null;
for (int i = 0; i < 5; i++) {
tmp = new View(this);
ll.addView(tmpnew LinearLayout.LayoutParams(
50, // Width
50); // Height
// Either or both the width and height may be ViewGroup.
// (WRAP_CONTENT || FILL_PARENT || MATCH_PARENT)
}
setContentView(ll);
}
}
这是您将视图动态添加到LinearLayout的方法。但是,由于LinearLayout的结构和设计,确实没有太多的定位方式。将LinearLayout视为一个方向上充满视图的数组,您唯一能做的就是更改它们在数组中的位置。如果您想要对视图进行精细控制,我建议使用RelativeLayout.