В моем приложении для Android у меня есть кнопка со стрелкой на правой стороне. В моем приложении «Настройки» вы можете изменить цвет приложения (изменить цвет кнопок и TextViews).Как изменить цвет фона кнопки с изображением на Android
Я изменил цвет TextViews в порядке, но когда я изменил цвет кнопок, изображение (стрелка на правой стороне) исчезло.
Это мой код сейчас. Он меняет цвет и удаляет imge.
loginButton = (Button) findViewById(R.id.btnLogin);
loginButton.setTextColor(color);
Я нахожу это на каком-то посту. Но это работает только для ImgageView, а не для кнопки.
loginButton = (Button) findViewById(R.id.btnLogin);
GradientDrawable bgShape = (GradientDrawable)loginButton.getBackground();
bgShape.setColor(getResources().getColor(Color.BLACK));
text.setTextColor(color);
Я также попытался изменить цвет следующим образом. Но это совсем не меняет цвет.
Drawable button = context.getResources().getDrawable(R.drawable.button);
button.setColorFilter(new
PorterDuffColorFilter(0xffff00,Mode.MULTIPLY));
Последнее, что, я надеюсь, должно сработать, это определить новые возможности для каждого цвета. Но это действительно ужасно ... Я также думаю, что проблема заключается не только в изображении. Я думаю, что это решение отменяет все доступные файлы ...
Есть ли кто-нибудь, кто знает, как изменить цвет рисунка и сохранить изображение на кнопке?
EDIT: Просто пытаюсь ... Я могу перемещать все цвета в файл colors.xml. И измените путь цвета на все доступные файлы. Как
<resource>
Color 1
Color 2
Color 3
...
</resource>
Но как можно вырисовывать файлы, какой цвет он должен использовать?
EDIT2: Кнопка раскладка:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
style="@style/bgGrey">
<RelativeLayout
android:layout_height="0dip"
android:layout_weight="30"
android:layout_width="fill_parent"
>
<TextView
...
/>
</RelativeLayout>
<LinearLayout
...>
<TextView
.../>
<EditText
.../>
<TextView
.../>
<EditText
.../>
<Button
android:id="@+id/btnLogin"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/password"
android:gravity="center|left"
android:paddingLeft="15dp"
android:layout_marginTop="10dp"
android:background="@drawable/login_button_background"
android:text="Login" />
</LinearLayout>
</LinearLayout>
Кнопка вытяжка, background.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/layer"></item>
</selector>
layer.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:left="0dp" android:top="5dp" android:bottom="5dp" android:right="0dp" >
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#ffb500"/>
</shape>
</item>
<item android:left="350dp" android:top="5dp" android:bottom="5dp" android:right="5dp" >
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#ffb500"/>
</shape>
</item>
<item android:right="15dp" >
<bitmap android:src="@drawable/btn_right" android:gravity="right" android:tileMode="disabled" />
</item>
</layer-list>
Вы могли бы разместить свой макет xml и свой файл кнопки из выпадающих папок? –
@blipinsk Конечно, макет и чертеж уже добавлены – kristyna