Почему изменение Цвета Кнопки По умолчанию заставляет его посмотреть ПРЯМОУГОЛЬНИК в Android?

Почему изменение Цвета Кнопки По умолчанию заставляет его посмотреть ПРЯМОУГОЛЬНАЯ ФИГУРА? Я не хочу использовать пользовательские фоновые изображения для этого. Я хочу сделать это программно для немногих условий, на которых я изменяю цвета многих маленьких кнопок на экране. Кто-либо может дать решение?

P.S. ==> кажется, что нет никакого обходного решения путем чтения этого http://groups.google.com/group/android-beginners/browse_thread/thread/e1313e2c98e9c52b

или есть ли кто-либо?

5
задан Pritam 5 May 2010 в 05:05
поделиться

2 ответа

Для изменения цвета :

Drawable d = findViewById(R.id.button_name).getBackground();
               PorterDuffColorFilter filter = new PorterDuffColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP);
               d.setColorFilter(filter);

Для удаления цвета :

Drawable d = findViewById(R.id.button_name).getBackground();
               findViewById(R.id.button_name).invalidateDrawable(d);
               d.clearColorFilter();
8
ответ дан 14 December 2019 в 01:03
поделиться

Вы можете использовать следующий XML скрипт вместо Назначения цветов в качестве фона. Прежде всего, позвольте мне сказать вам, что представление кнопки по умолчанию является прямоугольником, поэтому, когда вы просто добавляете представление кнопки в макет, ему назначается стиль фона по умолчанию, и из-за этого вы можете видеть его с закругленными углами. Когда вы назначаете фон, стиль/тема по умолчанию будет отменен, и вы получите кнопку в исходном виде, поэтому здесь вы должны применить тему/тип в соответствии с вашими требованиями. Если вам нужно несколько кнопок, вы можете использовать следующий XML-схему. Вы просто создаете .xml файл в вашем drawable в разделе ресурсов в проекте android. затем назначаете этот .XML файл в качестве фона вашего представления кнопки. И посмотрите, что произойдет...

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#ffffff"/>
    <corners android:radius="6dp"/>
    <padding android:left="3dp" android:top="2dp"
            android:right="3dp" android:bottom="2dp" />
</shape>
1
ответ дан 14 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: