2013-10-01 4 views
0

Я делаю приложение для Android, у которого есть изображения, которые расположены друг над другом, Каждое изображение имеет свою ширину, я хочу добавить эти изображения в одну строку, чтобы они соответствовали ширине экрана , с таким же отношением для каждого одного я написал код, чтобы добавить эти изображения, но все-таки знать, как установить ширину программноДобавление изображений в одну строку в макете с соотношением

ImageView view = new ImageView(this); 
    view.setImageResource(R.drawable.a1); 

    ImageView view1 = new ImageView(this); 
    view1.setImageResource(R.drawable.a2); 

    ImageView view2 = new ImageView(this); 
    view2.setImageResource(R.drawable.a3); 


    LinearLayout my_root = (LinearLayout) findViewById(R.id.root_layout); 
    LinearLayout child = new LinearLayout(this); 
    child.setOrientation(LinearLayout.HORIZONTAL); 

    child.addView(view); 
    child.addView(view1); 
    child.addView(view2); 

    my_root.addView(child); 

только изображение 1 и 2 появляются, но третий не появляются из-за ширины экрана завершен Любая помощь !! Спасибо :)

ответ

0

Для этого вам необходимо использовать параметр веса.

Try ниже код:

ImageView view = new ImageView(this); 
      view.setImageResource(R.drawable.a1); 
    view.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f)); 

     ImageView view1 = new ImageView(this); 
     view1.setImageResource(R.drawable.a2); 
view1.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f)); 

     ImageView view2 = new ImageView(this); 
     view2.setImageResource(R.drawable.a3); 
view2.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1f)); 
+0

спасибо своей работы, но не все изображения в том же соотношении @pratik –

+0

для примера: моя ширина дисплея составляет 480, а первое изображение 315 и второй 200 и третьи 190 они более чем 480. Мне нужна функция для повторной установки ширины изображения в соответствии с шириной экрана –

+0

, но когда вы даете весу = 1 каждому изображению, он будет занимать одно и то же пространство для каждого изображения на каждом устройстве. Поэтому лучше придать весу = 1 каждому изображению. –

0

Применение Схема параметров для установки высоты и ширины представлений во время выполнения. как этот

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(50, 50); 
    view .setLayoutParams(layoutParams); 
Смежные вопросы