Выравнивание изображения и текста в textview

#android #textview #imageview #android-linearlayout

#Android #textview #просмотр изображений #android-linearlayout

Вопрос:

В моем приложении я заполняю linearlayout текстом и небольшим значком (например, listview с пользовательским адаптером). Мне нужно, чтобы текст и изображение имели одинаковый размер. Есть ли способ сделать это?

Вот код:

 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
              LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);
      LinearLayout LayoutPadre = new LinearLayout(this);
TextView Tag = new TextView(this);
      ImageView img = new ImageView(this);

      Tag.setText(data);
     if(stato.equalsIgnoreCase("presente")){
      img.setImageResource(R.drawable.ic_presente); 
     }else{
         img.setImageResource(R.drawable.ic_assente);  
     }

    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(75, LayoutParams.WRAP_CONTENT);   //Here I need the img to have same size as the text, but Tag.getHeight() returns 0
      layoutParams.setMargins(50, 0, 0, 0);

      img.setLayoutParams(layoutParams);

      LayoutPadre.setLayoutParams(params);

      LayoutPadre.addView(Tag);
      LayoutPadre.addView(img);
 

Проблема в том, что изображение не центрировано по горизонтали, как img.
Посмотрите на экранЗахват экрана

Спасибо всем.

Ответ №1:

сохраняйте layout_height текста и изображения как Match_Parent и нет Wrap_Content … Этим

Комментарии:

1. спасибо! это работает!! я сделал много попыток, но не смог.. Еще раз спасибо!

Ответ №2:

Если вы сохраняете android:layout_height="wrap_content" или это не сработало, вы также можете сделать android:gravity="center"