У меня есть 3 колонки GridView
и 4 предмета.Центр детей в GridView
Так получилось, что три из них появляются в первом ряду, а последний во втором ряду, но этот выравнивается влево. Я просто хотел знать, есть ли возможность сделать его по центру в GridView
. Как 'T', я не знаю, если я объясняю ... XD
Спасибо :-)
Edit:
Это макет, который содержит GridView
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/section_title_root"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg_gd_home_grid">
<ImageView
android:src="@drawable/home_grid_txori"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dip"
android:layout_centerHorizontal="true"/>
<GridView
android:id="@+id/home_grid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:numColumns="3"
android:drawSelectorOnTop="true"
android:layout_marginBottom="30dip"
android:layout_marginLeft="30dip"
android:layout_marginRight="30dip"
android:padding="5dip"
android:listSelector="@android:color/transparent"
android:background="@drawable/bg_home_grid_item"
/>
</RelativeLayout>
Кстати, android:layout_centerHorizontal="true"
не работает в GridView
Решение Edit:
Этот вопрос от прошлых лет, но я попросил, чтобы опубликовать решение, и я должен был найти свой старый репо, чтобы получить его :-)
Как я уже говорил ниже в комментариях, Я не смог добиться этого только в формате XML, поэтому мне пришлось обмануть поддельный непереключаемый + неаккуративный элемент на третьей позиции.
Это было мое первое приложение, поэтому я не реализовал рекомендуемое решение «ViewHolder». Я настоятельно рекомендую его использование
Это как мой метод GetView() выглядит в адаптере:
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = (RelativeLayout) mInflater.inflate(
R.layout.home_grid_item, null);
}
/* In order to have 4th item centered in the 2nd row, we create an empty 3rd item */
if (position == 3) {
convertView.setFocusable(false);
convertView.setClickable(false);
} else {
ImageView imageView = (ImageView) convertView
.findViewById(R.id.image);
imageView.setImageResource(mThumbs[position]);
TextView textView = (TextView) convertView.findViewById(R.id.title);
textView.setText(mTitles[position]);
}
convertView.setTag(mTabTags[position]);
return convertView;
}
Это не работает ... спасибо! –
Можете ли вы разместить свой xml? – Herter
попробуйте оглядеться здесь. Http://developer.android.com/reference/android/widget/GridView.html#attr_android:gravity – Herter