Страница 1 из 1

GridView - border к нескольким Item?

Добавлено: 16 сен 2012, 09:45
JDev
Здравствуйте, на эту тему есть топики на форумах, но я что-то слабо пока представляю, как сделать такую рамку(красным)...
Прикрепляю рисунок.
1.jpg
1.jpg (173.5 КБ) 4087 просмотров
GridView делал вот так..

Код: Выделить всё

	private String[] data = new String[81];
	private GridView gvMain;
	private ArrayAdapter<String> adapter;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_gamefield);

		init();
	}

	private void init() {

		for (int i = 0; i < 81; i++) {
			data[i] = String.valueOf(i + 1);
		}

		adapter = new ArrayAdapter<String>(this, R.layout.item, R.id.tvText, data);
		gvMain = (GridView) findViewById(R.id.gvMain);
		gvMain.setAdapter(adapter);
		gvMain.setOnItemClickListener(this);
		adjustGridView();
	}

	private void adjustGridView() {
		gvMain.setNumColumns(9);
		gvMain.setHorizontalSpacing(3);
		gvMain.setVerticalSpacing(3);
	}

	public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {
		TextView tv = (TextView)findViewById(R.id.Time);
		tv.setText(String.valueOf(position+1));
		LinearLayout layout = (LinearLayout)findViewById(R.layout.item);
		layout.setBackgroundColor(Color.BLUE);
		
	}
И что-то мне не получается изменить цвет по клику на item? Это уже другой вопрос, если нужно создам отдельную тему.

вот такой вот код для item.xml

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/rect_gray"
    android:gravity="center"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tvText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:minHeight="35dp"
        android:text=""
        android:textSize="20sp" >
    </TextView>

</LinearLayout>
Пасиб за подсказки.

Re: GridView - border к нескольким Item?

Добавлено: 16 сен 2012, 11:00
rezak90
вот здесь нормально расписано как отрисовать/залить ячейки/таблицу http://stackoverflow.com/questions/7132 ... w-dividers

Re: GridView - border к нескольким Item?

Добавлено: 16 сен 2012, 11:24
JDev
rezak90 писал(а):вот здесь нормально расписано как отрисовать/залить ячейки/таблицу http://stackoverflow.com/questions/7132 ... w-dividers
Пасиб, инетересно, но мне нужно группу и просто обвести контуром. Мне не нужно чтоб она реагировала как-то..

Re: GridView - border к нескольким Item?

Добавлено: 16 сен 2012, 15:48
rezak90
JDev писал(а):
rezak90 писал(а):вот здесь нормально расписано как отрисовать/залить ячейки/таблицу http://stackoverflow.com/questions/7132 ... w-dividers
Пасиб, инетересно, но мне нужно группу и просто обвести контуром. Мне не нужно чтоб она реагировала как-то..
Ну тогда тоже ничего сложного. Исходя из вашего рисунка вам необходимо создать одну большую GridView в которую вложить 9 GridView (или можно ReletiveLayout в котором 9 GridView). Но главный вопрос стоял как сделать свой border: создаём в drawable xml-файл в котором описываем background будущей GridView. И потом background="@drawable/row_style" - как то так.