Intereting Posts
КоординаторLayout + TabView + AnimateView (сверху) Android – как программно определить ShapeDrawables? Конверсия в формат Dalvik завершилась с ошибкой 1 Решение? Как просмотреть Android ListView с настраиваемой строкой и заголовком Гладкая прокрутка не работает в ViewPager (поддержка библиотеки) Разрешения Android M: путают использование функции shouldShowRequestPermissionRationale () Каков максимальный размер для общей привилегии Android? Как заставить Android Volley выполнять HTTPS-запрос, используя сертификат, подписанный Unkown CA? Как предотвратить Android Market от JPEG-сжатия рекламного графического PNG? Установить подсказку поиска динамически Android MapView в фрагменте Android: OnBootReceiver: экспортированный приемник не требует разрешения Android: Как автоматически перезапустить приложение после того, как оно было «принудительно закрыто»? Вставка контактов в Android 2.2 Как сказать OkHttpClient игнорировать кеш и принудительно обновить сервер?

Добавление представления к LinearLayout в указанной позиции

У меня есть следующий файл main.xml с LinearLayout

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:weightSum="1" android:id="@+id/llid"> <TextView android:text="Client profile" android:id="@+id/ProfileName" android:layout_width="fill_parent" android:textStyle="bold" android:layout_height="wrap_content" android:gravity="center_horizontal"> </TextView> <TextView android:text="Specs" android:id="@+id/Specs" android:layout_width="fill_parent" android:textStyle="bold" android:layout_height="wrap_content" android:gravity="center_horizontal"> </TextView> </LinearLayout> 

Я добавляю изображение в LinearLayout через код во время выполнения, например

  ImageView image = new ImageView(this); image.setImageBitmap(bmp); LinearLayout ll = (LinearLayout) findViewById(R.id.llid); ll.addView(image); 

Тем не менее, я хочу добавить ImageView между 2 TextViews в моем LinearLayout. Я не могу найти способ в документах Android для добавления представления перед другим представлением или после него. Как я могу это сделать?

NB Я звоню

 setContentView(R.layout.main); 

Прежде чем добавить ImageView в LinearLayout.

Solutions Collecting From Web of "Добавление представления к LinearLayout в указанной позиции"

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

У вас есть два вида и так (отсчет с нуля), которые вы хотели бы добавить на 1-ю позицию; Просто вызовите ll.addView(image, 1); Чтобы он помещался между двумя TextViews .

В документе docs вы можете использовать индекс, чтобы вставить его туда, где хотите. Я вижу, что вы используете подпись только для просмотра, попробовали ли вы подпись с параметром index?

 public void addView(View child, int index) 
 setContentView(R.layout.main); ImageView img = (ImageView) findViewById(R.id.imagefield); img.setImageResource(your_image_here); 

И в xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:weightSum="1" android:id="@+id/llid"> <TextView android:text="Client profile" android:id="@+id/ProfileName" android:layout_width="fill_parent" android:textStyle="bold" android:layout_height="wrap_content" android:gravity="center_horizontal"> </TextView> <ImageView android:id="@+id/imagefield" android:layout_width="wrap_content" android:layout_height="wrap_content"> </ImageView> <TextView android:text="Specs" android:id="@+id/Specs" android:layout_width="fill_parent" android:textStyle="bold" android:layout_height="wrap_content" android:gravity="center_horizontal"> </TextView> 

Добавьте ImageView в xml, и если он не используется, сделайте его невидимым (image.setVisibility(View.INVISIBLE)) . Он может ничего не показывать, если изображение не установлено.

Я столкнулся с подобной проблемой. В моем случае я хотел добавить LinearLayout в последнюю позицию другого LinearLayout. Для этого я сделал:

 LinearLayout parentLayout = (LinearLayout) findViewById(R.id.parentLayout); LinearLayout layout = new LinearLayout(this); layout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); // add others views to your linear layout parentLayout.addView(layout, parentLayout.getChildCount());