SetGravity для GridLayout не работает

Я использую простой GridLayout к которому я добавляю кнопки динамически.

 <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tagGridLayout" android:background="@color/white" android:layout_width="fill_parent" android:layout_height="wrap_content" android:columnCount="3" > </GridLayout> 

И я использую этот Java-код для заполнения моей сетки, которая работает нормально, за исключением того, что установленная опция Gravity ничего не делает. Я пробовал – менял layout_width на разные типы в XML-файле, добавляя гравитацию к GridLayout и т. Д., Как упоминалось в других решениях на этом сайте. Другое дело, что я делаю это в задаче Async внутри фрагмента. В основном я хочу достичь того, что достигается в XML-формате layout_gravity="fill_horizontal" .

 tagButtons = new Button[trendingTagsCount]; for(int i=0;i<trendingTagsCount;i++) { tagButtons[i] = new Button(getActivity()); //tagButtons[i].setLayoutParams(new LayoutParams(Gravity.FILL_HORIZONTAL)); tagButtons[i].setText(getTagsList.get(i).tag); tagButtons[i].setGravity(Gravity.FILL_HORIZONTAL); tagButtonGrid.addView(tagButtons[i]); } 

Поскольку Каран Мер сказал, что вы установили Гравитацию Макета с помощью GridLayout.LayoutParams.

Но будьте осторожны, в Gridlayout вам нужно установить columnSpec / rowSpec для детей (в вашем случае Button) до:

 param.columnSpec = GridLayout.spec(0); param.rowSpec = GridLayout.spec(0); 

И только тогда

 param.setGravity(Gravity.RIGHT); 

Если columnSpec / rowSpec НЕ УКАЗАНА, когда вы устанавливаетеGravity, гравитация не работает …

Даже если вы это сделаете:

 param.setGravity(Gravity.RIGHT); param.columnSpec = GridLayout.spec(0); param.rowSpec = GridLayout.spec(0); 

Гравитация не работает …

Правильный путь:

 param.columnSpec = GridLayout.spec(0); param.rowSpec = GridLayout.spec(0); param.setGravity(Gravity.RIGHT); 

Я не знаю, есть ли ошибка или преднамеренная вещь. (Я использую Android API 19)

Intereting Posts
Событие прокрутки браузера не срабатывает достаточно часто на устройствах iOS и Android Слушатель режима энергосбережения Android? Android: диалог оповещений с настраиваемым диалоговым окном и нейтральной кнопкой Экзамен audiorecord для Android не работает FileProvider crash – npe пытается вызвать XmlResourceParser на пустую строку Модернизация сети делает сетевые вызовы в основном потоке? Android.bluetooth.IBluetooth.createBond () не найден в 4.2.1, но работает в более ранних версиях ОС Java.lang.ClassNotFoundException для моего приложения Android Play Store – ошибка получения информации с сервера. RPC: S-2: АЕС-2 Отключить прокрутку между вкладками в FragmentActivity Как отобразить полноразмерный диалог DialogFragment? Максимальный размер жесткого кэша ImageDownloader Android: почему google помещает api в другие страны, даже если границы 500 метров? Служба Android, запущенная при выключенном телефоне, запускается автоматически при загрузке телефона Не растягивающий ScrollView