Вы можете установить стрелку вверх или вниз слева от текста в textView (чтобы он выглядел как значок ... Я думаю, это то, что вы хотите?)
Сначала поместите png в вашу папку для рисования и назовите ее upArrow.png и добавьте одну с именем downArrow.png
Затем установите стрелку для отображения слева от текста a textView:
myTextView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.upArrow, 0, 0, 0);
См. setCompoundDrawablesWithIntrinsicBounds (int left, int top, int right, int bottom) Используйте другие аргументы для установки стрелки над, справа или под текстом.
Теперь, если вместо этого вы хотите изменить фоновое изображение (например, отключите R.drawable.back), вы также должны начать с сохранения upArrow.png и downArrow.png в папке drawbles, а затем вы можете вызвать
myTextView.setBackgroundDrawable(R.drawable.upArrow);
См. setBackgroundDrawble (Drawable d)
Также обратите внимание, что (начиная с версии 2.1) вы можете поместить вызов метода для прослушивателя onclick в ваш XML. Это может сделать код чище. В вашем случае, чтобы добавить заголовок слушателя к headerNum:
<TextView android:text="#" android:layout_height="wrap_content"
android:layout_width="0dp" android:background="@drawable/back"
android:layout_weight=".05" android:gravity="center_horizontal"
android:id="@+id/header_num"
android:onClick="myOnclickListener"/>
Затем в вашем классе Activity просто добавьте метод:
public void myOnclickListener(View v) {
...
}
Вы также можете программно добавить imageView, хотя это более сложный процесс. Или вы можете добавить в оба изображения imageView стрелок вверх и вниз рядом с каждым заголовком, а также включить и выключить видимости для соответствующей программы один раз, используя:
myImageView.setVisibility(View.VISIBLE);
и
myImageView.setVisibility(View.GONE);
Хотя я думаю, что использование изображений bg или левых отрисовок является самым простым и сохраняет ваш xml минимальным. Если вы на самом деле добавляете imageViews, вы, вероятно, захотите переключиться на RelativeLayout.