Страница 1 из 1

Как сделать кнопки с возможностью фиксации ?

Добавлено: 27 апр 2015, 20:54
Chvalov
Нужно при нажатии на кнопку ее зафиксировать и при нажатии на основную кнопку вызвать нужное действие.
Допустим есть кнопки "Вперед, Назад, В лево и т.п." и основные кнопки "Идти, Бежать, плыть и т.п."

Нажимает на кнопку "Вперед" она у нас фиксируется и нажимаем на главную кнопку "Бежать" и тоаст выводит сообщение
"Бежать вперед".

Взял для примера вот эти кнопки https://github.com/markushi/android-circlebutton
Фиксировать их можно вод так:

Код: Выделить всё

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        findViewById(R.id.Btn_Idti).setPressed(true);
        findViewById(R.id.Btn_Bezat).setPressed(true);

    }
Но эта фиксация работает только при старте активити, а мне нужно при нажатии на кнопку.

Пробовал сделать чтобы при нажатии на кнопку оно фиксировалось, но увы ничего не получается.
Фиксировать можно другие кнопки, но не ту на которую нажал.

К примеру:

Код: Выделить всё

    public void OnClick_Btn_Idti(View view) {
        findViewById(R.id.Btn_Bezat).setPressed(true);
    }
Теперь при нажатии Идти зафиксируется кнопка Бежать.

Кто подскажет как правильно сделать ?
А то в голове тупой вариант, наложить кнопку на кнопку и при нажатии давать ей свойство (visibility:gone) и поверх рисовать зафиксированую (setPressed).
Подскажите нормальный вариант, чтобы я не изобретал колесо :)

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 27 апр 2015, 22:23
Foenix
не пойму что общего между той плавающей кнопкой и той, что вы хотите фиксировать?
Фиксировать - это по-русски "нажатое состояние"? для этого есть другие кнопки - переключатели, радиобаттоны.. у них два состояния, если в стилях подправить - можно их кастомизировать по-любому.

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 27 апр 2015, 22:29
Chvalov
Foenix писал(а):не пойму что общего между той плавающей кнопкой и той, что вы хотите фиксировать?
Фиксировать - это по-русски "нажатое состояние"? для этого есть другие кнопки - переключатели, радиобаттоны.. у них два состояния, если в стилях подправить - можно их кастомизировать по-любому.
А с этими кнопками никак такое не сделать ?

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 27 апр 2015, 23:49
Foenix
зачем?

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 28 апр 2015, 00:02
Chvalov
Foenix писал(а):зачем?
Потому что у меня уже почти готовый проект, только с этими кнопками.

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 28 апр 2015, 00:22
doter.ua
Любая вьюшка с ручной подменой бекграунда( заготовки on\off состояние). Реализуется ИФами за 2-3 минуты.

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 28 апр 2015, 00:26
Chvalov
doter.ua писал(а):Любая вьюшка с ручной подменой бекграунда( заготовки on\off состояние). Реализуется ИФами за 2-3 минуты.
Можно узнать какими именно ?

А то все что пробовал не давало нужного результата (

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 28 апр 2015, 00:34
doter.ua
Chvalov писал(а):
doter.ua писал(а):Любая вьюшка с ручной подменой бекграунда( заготовки on\off состояние). Реализуется ИФами за 2-3 минуты.
Можно узнать какими именно ?

А то все что пробовал не давало нужного результата (
ТекстВью + setBackground. Не нужно вручную шаманить с состояниями.
В кратце:

Код: Выделить всё

boolean isPressed = false;

void OnClick(){
   if( isPressed ){
       set bg  нажатое
       ... какой-нибудь код
   } else {
       set bg  обычное
       ... какой-нибудь код
   }
   //В конце меняем состояние вручную
   isPressed = !isPressed;
}

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 28 апр 2015, 01:02
Foenix
это правильно делать стилями.

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 28 апр 2015, 01:04
Foenix

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 28 апр 2015, 01:04
Foenix

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 28 апр 2015, 04:55
Chvalov
Foenix писал(а):это правильно делать стилями.
У меня стилями не получится, так как я использую - https://github.com/markushi/android-circlebutton

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 28 апр 2015, 09:50
doter.ua
Foenix писал(а):это правильно делать стилями.
Такое прокатит с чекбоксом или радиобатоном, обычный батон меняет стейт во время нажатия и возвращается к старому после отпускания.

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 28 апр 2015, 11:28
Foenix
doter.ua, это по-любому правильно делать стилями

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 28 апр 2015, 11:30
doter.ua
http://developer.alexanderklimov.ru/and ... button.php тоглБатон должен подойти.
+

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false" android:drawable="@drawable/btn_toggle_off" />
    <item android:state_checked="true" android:drawable="@drawable/btn_toggle_on" />
</selector>

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 28 апр 2015, 19:51
Chvalov
doter.ua писал(а):http://developer.alexanderklimov.ru/and ... button.php тоглБатон должен подойти.
+

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false" android:drawable="@drawable/btn_toggle_off" />
    <item android:state_checked="true" android:drawable="@drawable/btn_toggle_on" />
</selector>
Я уже думал над тоггл кнопками, но хотелось бы эти все же оставить.

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

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 28 апр 2015, 21:47
doter.ua
Chvalov писал(а):
doter.ua писал(а):http://developer.alexanderklimov.ru/and ... button.php тоглБатон должен подойти.
+

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="false" android:drawable="@drawable/btn_toggle_off" />
    <item android:state_checked="true" android:drawable="@drawable/btn_toggle_on" />
</selector>
Я уже думал над тоггл кнопками, но хотелось бы эти все же оставить.

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

Re: Как сделать кнопки с возможностью фиксации ?

Добавлено: 28 апр 2015, 21:50
Foenix
doter.ua писал(а): Никак, конец.
наконец-то понял
Изображение