0

В моем проекте андроида у меня был вид таблицы, и я хочу добавить некоторые кнопки изображения динамически. Поэтому я кодирую как этоДобавить кнопку изображения в linearlayout dymanically

TableLayout table = (TableLayout)findViewById(R.id.tableLayout_1); 

TableRow rows = new TableRow(this); 
rows.setBackgroundColor(Color.parseColor("#eaeaea")); 
rows.setId(4500+id); 

ImageButton btns=new ImageButton(this); 
LinearLayout.LayoutParams params1 = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 
        LayoutParams.WRAP_CONTENT); 
      params1.leftMargin = 10; 
      params1.bottomMargin = 10; 

      btns.setBackgroundResource(R.drawable.accept); 

      btns.setId(id); 

       btns.setOnClickListener(new OnClickListener() { 

        @Override 
        public void onClick(View v) { 
         int id=v.getId(); 
         setFlag(id); 
        } 
       }); 


LinearLayout childLayout = new LinearLayout(context); 
childLayout.addView(btns); 
rows.addView(childLayout); 
table.addView(rows); 

Его работая отлично. Но количество кнопок изображения может меняться. Иногда 5-10 кнопок В этот раз все кнопки отображаются в одной строке. Я хочу расширить раскладку linearlayout и tablerow в соответствии с кнопками, такими как изображение.

enter image description here

Любая идея для этого?

Я новичок в андроид, пожалуйста, помогите

Заранее спасибо

ответ

0

Попробуйте использовать GridView, это больше рекомендуется для того, что вы пытаетесь сделать. Вот как пользоваться. http://developer.android.com/guide/topics/ui/layout/gridview.html

Если у вас возникли проблемы при внедрении, просто ответьте здесь.

+0

привет спасибо за ответ ... можете ли вы показать динамический код, который будет создавать сетку и добавлять кнопки изображения? – ramesh

+0

Ссылка от разработчика android прямолинейна, вы можете просто скопировать пасту оттуда, чтобы реализовать gridview. После того, как у вас есть список отображаемых элементов, и вы хотите добавить больше, просто вызовите gridViewAdapter.add (yourItem), а затем gridViewAdapter.notifydatasetchanged() – George

+0

Привет, на самом деле мне нужно выровнять некоторые кнопки изображения в линейном режиме и увеличить высоту linearlayout в соответствии с внутренними кнопками. Теперь он показывает только один ряд кнопок изображения. т.е. если ширина может иметь 4 кнопки, тогда 5-я кнопка должна быть меньше 1 и т. д. Но теперь отображаются только 4 кнопки – ramesh

Смежные вопросы