Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Поменять цвет фона

Создал 'Hello, world!' в андроид студио - надпись на белом фоне
Теперь хочу изменить цвет фона на черный. Что почитать на эту тему? Заранее спасибо за ссылки!
Ответ: что-то типа
Java
1
layout.setBackgroundColor(Color.BLACK)
Вопрос: TextView цвет фона отдельных символов

Как можно поменять цвет фона отельных символов в textview?
Ответ: Спасибо большое, подошло, теперь у меня при поиске нужные символы выделяются желтым цветом
Вопрос: Оптимально поменять цвет значка SwipeRefreshLayout

У меня есть активити в нем 5 больших TextView красного цвета(5F00 - значение цвета). А для SwipeRefreshLayout я поставил
Java
1
2
mSwipeRefreshLayout.setColorSchemeResources(
                android.R.color.black);
И в итоге виджет SwipeRefreshLayout(кружок который крутится) все равно не виден на фоне TextView. Как можно оптимально изменить цвет SwipeRefreshLayout виджета, чтобы он был нормально виден на фоне цвета TextView??
Ответ: Брал менял даже цвет TextView на белый, но этот виджет у RefreshLayout отображается как то непонятно(даже несмотря на то, что я никогда не вызываю mSwipeRefreshLayout.setRefreshing(false) - значок покрутится и тут же перестает отображаться, даже фактически не отображается полностью), хотя метод onRefresh() срабатывает, код в нем нормально выполняется. В чем может быть причина такого отображения значка??

Добавлено через 30 минут
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<android.support.v4.widget.SwipeRefreshLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/swipe_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
 
    <LinearLayout
 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:weightSum="1">
 
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_marginLeft="5pt"
            android:layout_marginRight="5pt"
            android:textSize="12pt"
            android:background="#5F00"
            android:layout_marginTop="3pt"
            android:id="@+id/tvResult"
            android:gravity="center"
            android:layout_weight="0.36">
        </TextView>
 
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_marginLeft="5pt"
            android:layout_marginRight="5pt"
            android:text="FEED"
            android:textSize="12pt"
            android:layout_marginTop="3pt"
            android:id="@+id/tvResult2"
            android:gravity="center_horizontal">
        </TextView>
 
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_marginLeft="5pt"
            android:layout_marginRight="5pt"
            android:background="#5F00"
 
            android:textSize="12pt"
            android:layout_marginTop="3pt"
            android:id="@+id/tvResult3"
            android:gravity="center"
            android:layout_weight="0.11">
        </TextView>
 
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_marginLeft="5pt"
            android:layout_marginRight="5pt"
            android:background="#5F00"
            android:textSize="12pt"
            android:layout_marginTop="3pt"
            android:id="@+id/tvResult4"
            android:gravity="center"
            android:layout_weight="0.11">
        </TextView>
 
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_marginLeft="5pt"
            android:layout_marginRight="5pt"
            android:background="#5F00"
            android:textSize="12pt"
            android:layout_marginTop="3pt"
            android:id="@+id/tvResult5"
            android:gravity="center"
            android:layout_weight="0.11">
        </TextView>
 
    </LinearLayout>
</android.support.v4.widget.SwipeRefreshLayout>
Вот разметка активити. Можете подсказать где в ней ошибка?

Добавлено через 9 минут
Работает только если добавить ScrollView в разметку то есть так
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<android.support.v4.widget.SwipeRefreshLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/swipe_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    <LinearLayout
 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:weightSum="1">
 
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_marginLeft="5pt"
            android:layout_marginRight="5pt"
            android:textSize="12pt"
            android:background="#5F00"
            android:layout_marginTop="3pt"
            android:id="@+id/tvResult"
            android:gravity="center"
            android:layout_weight="0.36">
        </TextView>
 
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_marginLeft="5pt"
            android:layout_marginRight="5pt"
            android:text="FEED"
            android:textSize="12pt"
            android:layout_marginTop="3pt"
            android:id="@+id/tvResult2"
            android:gravity="center_horizontal">
        </TextView>
 
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_marginLeft="5pt"
            android:layout_marginRight="5pt"
            android:background="#5F00"
 
            android:textSize="12pt"
            android:layout_marginTop="3pt"
            android:id="@+id/tvResult3"
            android:gravity="center"
            android:layout_weight="0.11">
        </TextView>
 
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_marginLeft="5pt"
            android:layout_marginRight="5pt"
            android:background="#5F00"
            android:textSize="12pt"
            android:layout_marginTop="3pt"
            android:id="@+id/tvResult4"
            android:gravity="center"
            android:layout_weight="0.11">
        </TextView>
 
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:layout_marginLeft="5pt"
            android:layout_marginRight="5pt"
            android:background="#5F00"
            android:textSize="12pt"
            android:layout_marginTop="3pt"
            android:id="@+id/tvResult5"
            android:gravity="center"
            android:layout_weight="0.11">
        </TextView>
 
    </LinearLayout>
    </ScrollView>
</android.support.v4.widget.SwipeRefreshLayout>
А почему без ScrollView не работает?
Вопрос: Программно задать цвет фона для View

Возникла проблема с установкой фона для View.
Получаю цвет через класс Color
Код:
Кликните здесь для просмотра всего текста

Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
RelativeLayout rl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String color1 = "#FF033E";
rl.setBackgroundColor(Color.parseColor(color1));
}


По идеи он должен отображать цвет, но на заднем фоне совсем другой цвет (примерно тёмно-синий).
Ответ: Вот activity_main.xml
Кликните здесь для просмотра всего текста

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
    android:clickable="true"
    android:id="@+id/main_activity">
 
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/button"
        android:text="Математика"
        android:onClick="on1"
        android:textColor="@color/text"
        android:background="@color/backcolor"
        android:textSize="@dimen/ts"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />
 
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Физика"
        android:id="@+id/button2"
        android:background="@color/backcolor"
        android:onClick="on2"
        android:textColor="@color/text"
        android:textSize="@dimen/ts"
        android:layout_below="@+id/button"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginTop="5dp" />
 
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Информатика"
        android:id="@+id/button8"
        android:background="@color/backcolor"
        android:textColor="@color/text"
        android:onClick="on3"
        android:layout_below="@+id/button2"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginTop="5dp"
        android:textSize="@dimen/ts" />
 
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Русский Язык"
        android:id="@+id/button4"
        android:layout_below="@+id/button8"
        android:layout_centerHorizontal="true"
        android:background="@color/backcolor"
        android:layout_marginTop="5dp"
        android:textColor="@color/text"
        android:textSize="@dimen/ts"
        android:onClick="onrus" />
 
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Калькулятор"
        android:id="@+id/button18"
        android:layout_below="@+id/button4"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="5dp"
        android:background="@color/backcolor"
        android:textColor="@color/text"
        android:textSize="@dimen/ts"
        android:onClick="oncalc" />
 
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Еженедельник"
        android:id="@+id/button19"
        android:layout_below="@+id/button4"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="5dp"
        android:background="@color/backcolor"
        android:textColor="@color/text"
        android:textSize="@dimen/ts"
        android:onClick="onc" />
 
</RelativeLayout>


Добавлено через 20 минут
Нашёл решение.
Сделал через функцию.
Вызываю функцию и фон меняется)
Вопрос: Изменить цвет "индикаторов"

Привет всем! У меня белый тулбар хочу сделать и "панель индикаторов" (не знаю как она точно называется) тоже белой. Если просто поменять цвет то итемы(зарядка и прочее) становятся незаметными, так как и сами белого цвета. Как поменять цвет этих итемов на черный ?
Ответ:
Сообщение от Renko17
Как поменять цвет этих итемов на черный ?
никак
Вопрос: Как поменять цвет нажатой кнопки в runtime?

Надо для кнопки менять цвета в нажатом/ненажатом состоянии. Во время работы программы. Цвет бордюра тоже надо менять. Как это делать?
Ответ: Там есть решение в одном из ответов, но не очень хорошее. Повесить на кнопку OnTouchListener(). И ставить цвет при нажатии отпускании.
Но вот бордюр кнопки так не поменять. И кнопка себя начинает вести не вполне нормально.

Селектор делает что надо, но там цвета надо задать до компиляции. А мне надо во время работы менять.
Я ищу возможность изменять этот селектор (цвета в нём) привязанный к кнопке во время работы программы.
Или создавать как-то динамически селекторы с заданными параметрами и к кнопкам привязывать...
Вопрос: Как поменять цвет seekBar?

Background меняет фон, foreground вообще никаких изменений. Хочу поменять сам цвет ползунка.
Ответ: либо рисовать свои drawable либо в коде
Java
1
2
3
        int color = ContextCompat.getColor(getContext(), R.color.my_color);
        seekBar.getProgressDrawable().setColorFilter(color, PorterDuff.Mode.SRC_ATOP); // полоска
        seekBar.getThumb().setColorFilter(color, PorterDuff.Mode.SRC_ATOP); // кругляшок
Вопрос: Передача цвета в GREED

Привет всем!
начинаю только изучать андройд и приложения!
есть рабочая программа изменения цвета фона из полученных данных со слайдера, теперь вот хотелось бы что бы этот полученный цвет выводился в greed.
подскажите пожалуйста как это делается
спасибо помогающим =)
текст прилагается
Кликните здесь для просмотра всего текста

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/constrainLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.airliss.slayder.MainActivity">
 
    <SeekBar
        android:id="@+id/seekBar_Red"
        android:layout_width="275dp"
        android:layout_height="30dp"
        android:max="255"
        app:layout_constraintVertical_chainStyle="spread_inside"
        tools:layout_editor_absoluteY="16dp"
        android:layout_marginLeft="8dp"
        app:layout_constraintLeft_toLeftOf="parent"
        android:layout_marginRight="8dp"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintHorizontal_bias="0.913" />
 
    <SeekBar
        android:id="@+id/seekBar_Green"
        android:layout_width="275dp"
        android:layout_height="30dp"
        android:max="255"
        app:layout_constraintVertical_chainStyle="spread_inside"
        tools:layout_editor_absoluteY="46dp"
        android:layout_marginLeft="8dp"
        app:layout_constraintLeft_toLeftOf="parent"
        android:layout_marginRight="8dp"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintHorizontal_bias="0.913" />
 
    <SeekBar
        android:id="@+id/seekBar_Blue"
        android:layout_width="275dp"
        android:layout_height="30dp"
        android:max="255"
        tools:layout_editor_absoluteY="77dp"
        android:layout_marginLeft="8dp"
        app:layout_constraintLeft_toLeftOf="parent"
        android:layout_marginRight="8dp"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintHorizontal_bias="0.913" />
 
    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Red"
        android:textSize="18sp"
        tools:layout_editor_absoluteX="31dp"
        tools:layout_editor_absoluteY="16dp" />
 
    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Green"
        android:textSize="18sp"
        tools:layout_editor_absoluteX="31dp"
        tools:layout_editor_absoluteY="47dp" />
 
    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Bluee"
        android:textSize="18sp"
        tools:layout_editor_absoluteX="31dp"
        tools:layout_editor_absoluteY="80dp" />
 
    <GridLayout
        android:layout_width="291dp"
        android:layout_height="248dp"
        android:layout_marginBottom="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginTop="8dp"
        android:background="@android:color/holo_green_light"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="0.506"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.732">
 
    </GridLayout>
 
 
</android.support.constraint.ConstraintLayout>
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package com.airliss.slayder;
 
import android.os.Bundle;
import android.support.constraint.ConstraintLayout;
import android.support.v7.app.AppCompatActivity;
import android.widget.SeekBar;
 
public class MainActivity extends AppCompatActivity {
 
    private SeekBar mRedSeekBar, mGreenSeekBar, mBlueSeekBar;
    private ConstraintLayout mScreenLayout;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        mScreenLayout = (ConstraintLayout) findViewById(R.id.constrainLayout);
        mRedSeekBar = (SeekBar) findViewById(R.id.seekBar_Red);
        mGreenSeekBar = (SeekBar) findViewById(R.id.seekBar_Green);
        mBlueSeekBar = (SeekBar) findViewById(R.id.seekBar_Blue);
        updateBackground();
 
        mRedSeekBar.setOnSeekBarChangeListener(seekBarChangeListener);
        mGreenSeekBar.setOnSeekBarChangeListener(seekBarChangeListener);
        mBlueSeekBar.setOnSeekBarChangeListener(seekBarChangeListener);
 
    }
 
    private SeekBar.OnSeekBarChangeListener seekBarChangeListener = new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            updateBackground();
        }
 
        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
 
        }
 
        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
 
        }
    };
 
    private void updateBackground() {
        int redValue, greenValue, blueValue;
        redValue = mRedSeekBar.getProgress();
        greenValue = mGreenSeekBar.getProgress();
        blueValue = mBlueSeekBar.getProgress();
        // меняем фон через формат RGB
        mScreenLayout.setBackgroundColor(0xff000000 + redValue * 0x10000 + greenValue * 0x100
                + blueValue);
    }
}


Добавлено через 5 часов 10 минут
все, блондинка включила свой мозг и сделала это!))
спасибо за молчание)
Ответ: во-первых были проблемы с привязкой к ляуту, это исправилось тем что везде приклеила к родительскому окну - что б все не улетало наверх-влево.
во-вторых - прям чуть ли не в точь-точь прописала ид обьекта, а в майн активити - инициализацию и получение цвета.
итоговое творчество(только активити, думаю привязку и манифест как-нибудь уж догадаются):
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package com.airliss.slayder;
 
import android.os.Bundle;
import android.support.constraint.ConstraintLayout;
import android.support.v7.app.AppCompatActivity;
import android.widget.GridView;
import android.widget.SeekBar;
 
public class MainActivity extends AppCompatActivity {
 
    private SeekBar mRedSeekBar, mGreenSeekBar, mBlueSeekBar;
    private GridView mGridView;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        mGridView = (GridView) findViewById(R.id.gridView);
        mRedSeekBar = (SeekBar) findViewById(R.id.seekBar_Red);
        mGreenSeekBar = (SeekBar) findViewById(R.id.seekBar_Green);
        mBlueSeekBar = (SeekBar) findViewById(R.id.seekBar_Blue);
        updateBackground();
 
        mRedSeekBar.setOnSeekBarChangeListener(seekBarChangeListener);
        mGreenSeekBar.setOnSeekBarChangeListener(seekBarChangeListener);
        mBlueSeekBar.setOnSeekBarChangeListener(seekBarChangeListener);
 
    }
 
    private SeekBar.OnSeekBarChangeListener seekBarChangeListener = new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            updateBackground();
        }
 
        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
 
        }
 
        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
 
        }
    };
 
    private void updateBackground() {
        int redValue, greenValue, blueValue;
        redValue = mRedSeekBar.getProgress();
        greenValue = mGreenSeekBar.getProgress();
        blueValue = mBlueSeekBar.getProgress();
        mGridView.setBackgroundColor(0xff000000 + redValue * 0x10000 + greenValue * 0x100
                + blueValue);
    }
}
Вопрос: Как изменить прозрачность фона фрагмента?

Фон фрагмента по умолчанию прозрачен. Нужно от этого избавится.
Можно прямо прописать в layout цвет (прозрачность это один байт из 4-х цвета).

Но я не хочу менять цвет - хочу чтобы использовался цвет текущей темы. Можно ли изменить только прозрачность без цвета? В ресурсах указывается и цвет и прозрачность одним числом.

Можно было бы поменять прозрачность из кода.

Есть метод
setBackgroundColor(),

но нет метода
getBackgroundColor()

т.е. я не могу получить текущий цвет чтобы изменить только прозрачность.

Как решить проблему?

Вроде получается что у фрагмента вообще нет цвета фона. Фон просто не рисуется никакой...
Ответ: во фрагменте
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_layout, container, false);
        Drawable back = getActivity().getWindow().getDecorView().getBackground();
        //back.setAlpha(180); // если нужно менять прозрачность
        view.setBackground(back);
        return view;
    }
Вопрос: Обеспечить смену цвета background'a

Как поменять цвет background'a во время работы приложения? То есть,чтобы при нажатии на кнопку цвет менялся на код,который выписан в EditText'e (То есть в EditText'e код- #000000,цвет фона меняется на чёрный)
Ответ: Dprod,
Java
1
button.setBackgroundColor(Color.parseColor("#000000"));