Реализация ввода цифрового пароля через GridView
Добавлено: 23 окт 2016, 14:34
Господа, такой вопрос. Пытаюсь реализовать ввод пин-кода через GridView, состоящего из ImageView. Подобное реализовано в приложениях аля "сбербанкОнлайн" для быстрого доступа к приложению.
Как реализовать событие нажатия и удержания какого-то ImageView, при этом что бы у него менялась картинка (подсвечивалась другим цветом при нажатии). С удовольствием выслушаю варианты как это еще можно реализовать. Например через TableLayout. Спасибо.
Код: Выделить всё
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getSupportActionBar().hide();
int []pin_data = {R.drawable.pin_one,R.drawable.pin_two,R.drawable.pin_three,R.drawable.pin_four,R.drawable.pin_five,R.drawable.pin_six,R.drawable.pin_seven,R.drawable.pin_eight,R.drawable.pin_nine,R.drawable.pin_empty,R.drawable.pin_zero,R.drawable.pin_clear};
ArrayList<Map<String, Object>> pin = new ArrayList<Map<String, Object>>(
pin_data.length);
Map<String, Object> m;
for (int i = 0; i < pin_data.length; i++)
{
m = new HashMap<String,Object>();
m.put(ATTRIBUTE_NAME_IMAGE,pin_data[i]);
pin.add(m);
}
String [] from = {ATTRIBUTE_NAME_IMAGE};
int []to = {R.id.imgBtn};
mAdapter adapter = new mAdapter(this,pin,R.layout.pin,from,to);
imgBtn = (ImageView)findViewById(R.id.imgBtn);
gvPin = (GridView)findViewById(R.id.gvPin);
gvPin.setAdapter(adapter);
adjustGridView();
}
private void adjustGridView()
{
gvPin.setNumColumns(3);
}