Как изменить значок кнопки программно?
У меня уже есть кнопка:
<Button
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:drawableLeft="@drawable/empty"
android:id="@+id/buttonMyText"
android:text=" myText"
android:textSize="20px"
android:gravity="left">
</Button>
У меня есть "пустое" показ значка на кнопке при запуске программы.
Что я хочу сделать, это изменить значок кнопки автоматически из моего кода (низкий, средний и высокий) на основе пользовательских входов
Я пробовал:
Button myButton = bla... bla... bla...
Но я не могу понять
myButton.(what?)
Ответы
Ответ 1
Если вы проверите документы, вы увидите эквивалент кода для каждого атрибута XML.
Смотрите здесь: http://developer.android.com/reference/android/widget/Button.html
Поиск drawableLeft
показывает:
android:drawableLeft:
setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable)
Ответ 2
если вы хотите изменить значок на событии нажатия кнопки, попробуйте этот код...
buttonMyText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
buttonMyText.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ImageNameHere, 0, 0, 0);
buttonMyText.setTextColor(Color.BLACK);
}
});