Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Truwa
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 41
#1

Изменения цвета ссылки - Программирование Android

15.11.2016, 21:24. Просмотров 173. Ответов 3
Метки нет (Все метки)

Объявление ссылки:
Java
1
Linkify.addLinks(holder.info, Linkify.ALL);
как мне сделать что бы при клике на неё у нее менялся цвет на заданный мною? Событие setOnClickListener не помогает, ссылка просто открывается, а цвет меняется только если рядом тыкнуть
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2016, 21:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Изменения цвета ссылки (Программирование Android):

Юзерскрипт для изменения цвета ссылки - JavaScript
Пошарился по форуму, но что-то не нашел того что мне нужно.... Вобщем нужен скрипт для одного сайта, на котором после клика ссылки сама...

Надо, чтобы разные ссылки имели разные цвета и чтобы при наведении на них мышой также были разные цвета. - C# ASP.NET
День добрый. Что-то я никак понять не могу. Делаю сайт. Мне надо, чтобы разные ссылки имели разные цвета и чтобы при наведении на них...

Изменения цвета текста - C++ WinAPI
in RichEdit

Анимация изменения цвета - C++ Qt
Всем привет. Пытаюсь сделать анимацию изменения цвета заливки у своего класса наследованного от QGraphicsPathItem. Вот значится код: ...

Изменения цвета контрола - C#
Всем привет! Народ, подскажите, как можно управлять контролом...например panel, из кода программы.... Например...у меня есть такой...

Алгоритм изменения цвета - Delphi
Подскажите алгоритм с помощью которого можно подогнать цвета одной картинке к цветам другой. Скажем есть изображение доллара, а он...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ExFau$t
271 / 246 / 43
Регистрация: 08.05.2012
Сообщений: 1,345
15.11.2016, 21:36 #2
setOnTouchListener

Добавлено через 3 минуты
как-то так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
button.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent e) {
                switch (e.getAction()) {
                    case MotionEvent.ACTION_DOWN:
                        button.setBackgroundColor(Color.parseColor("#0D7BD3"));
                        break;
                    case MotionEvent.ACTION_UP:
                        button.setBackgroundColor(Color.parseColor("#2196f3"));
                        break;
                }
                return true;
            }
        });
Добавлено через 2 минуты
В твоём случае цвет текста.
Truwa
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 41
15.11.2016, 22:16  [ТС] #3
ExFau$t,
Перестали работать ссылки и за один клик почему то выделяется несколько
Кликните здесь для просмотра всего текста
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
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
package truwaproduct.fndcms;
 
import android.app.*;
import android.content.Context;
import android.content.res.AssetManager;
import android.graphics.Color;
import android.graphics.Typeface;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.RecyclerView;
import android.text.util.Linkify;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
 
import java.util.ArrayList;
 
public class RecyclerAdapter extends RecyclerView.Adapter <RecyclerAdapter.ViewHolder> {
    TextView info;
    ArrayList<String> posts;
    private final Typeface typeface;
 
    public RecyclerAdapter(ArrayList<String> posts, Context context) {
        this.posts = posts;
        typeface = Typeface.createFromAsset(context.getAssets(), "fonts/YaL.otf");
    }
 
 
    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        return new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_child, parent, false));
 
 
    }
 
    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        holder.info.setText(posts.get(position));
        Linkify.addLinks(holder.info, Linkify.ALL);
    }
 
 
    @Override
    public int getItemCount() {
        return posts.size();
    }
 
 
    public class ViewHolder extends RecyclerView.ViewHolder {
        TextView info;
 
        public ViewHolder(View itemView) {
            super(itemView);
            info = (TextView) itemView.findViewById(R.id.info_text);
            info.setTypeface(typeface);
            info.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent e) {
                    switch (e.getAction()) {
                        case MotionEvent.ACTION_DOWN:
                            info.setLinkTextColor(Color.BLACK);
                            break;
                        case MotionEvent.ACTION_UP:
                            info.setLinkTextColor(Color.BLACK);
                            break;
                    }
                    return true;
                }
            });
 
 
        }
 
    }
}

Полный код

Добавлено через 6 минут
Java
1
2
3
4
5
6
7
8
9
10
11
12
public ViewHolder(View itemView) {
            super(itemView);
            info = (TextView) itemView.findViewById(R.id.info_text);
            info.setTypeface(typeface);
            info.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                info.setLinkTextColor(Color.BLACK);
                }
            });
        }
    }
решил проблему таким образом. Но ссылок за один клик выделяется несколько, в чем проблема?
ExFau$t
271 / 246 / 43
Регистрация: 08.05.2012
Сообщений: 1,345
16.11.2016, 09:51 #4
Проблема в том, что ты опять воткнул листенер в адаптер. У тебя там есть OnItemClickListener или типо того из прошлой темы, вот и сделай вместо него OnItemTouchListener, где в MotionEvent.ACTION_DOWN ты меняешь цвет, а в MotionEvent.ACTION_UP возвращаешь цвет и выполняешь код, что был для нажатия.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2016, 09:51
Привет! Вот еще темы с ответами:

Изменения цвета цифр у <ol> - HTML, CSS
Привет всем. Возможно ли изменить цвет цифр у &lt;ol&gt;?

Изменения цвета канвы - Delphi
Привет, есть графический редактор. Необходимо сделать кнопку, меняющую цвет канвы. Т.е. нарисовали на белом фоне черный круг, нажали кнопку...

изменения цвета формы - Delphi
Напишите самостоятельно пример, который позволяет выбирать из списка (и с комбинированного списка) цвет формы. Для изменения цвета формы...

Изменения цвета объекта - Unity, Unity3D
У меня допустим есть объект Cube, с прочностью 100 и мне нужно чтобы он был оранжевого цвета, а при клике на данный объект часть цвета...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.11.2016, 09:51
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru