2012-02-13 3 views
0

Есть ли способ динамически добавлять и размещать изображения в линейной компоновке в андроиде? в php я мог бы просто откликнуть тег изображения и использовать css для его положения, не совсем уверен, как справиться с этим в Android, однако, поскольку xml кажется очень жестко предопределенным.Как добавить динамический просмотр в LinearLayout?

ответ

1

Вы можете добавить представление в любую группу просмотра, вызвав метод ViewGroup.addView(View). Как бы то ни было, это своего рода смутный способ добавления представления. Предпочтительно, чтобы вы сначала создали 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.