2013-12-09 2 views
0

У меня есть 2 поисковых бара A и B и у меня есть 2 текстовых изображения C и D. Изменяется значение C при перемещении, а B изменяет значение D при перемещении. Мой код работает отлично. Тем не менее, я хочу, чтобы, когда пользователь использует A, тогда иконка B поиска отключается, а также, когда пользовательский бит B используется пользователем A, отключается. То, как поисковые бары становятся нераздеваемыми, - это когда пользователь нажимает на него, чтобы использовать его снова. Поэтому, если бы я использовал seekbar A, тогда B был бы отключен, тогда, если бы я коснулся кнопки поиска B, он будет включен, а затем A будет отключен. Или даже если это изменит цвет прожекторов, который является синим на данный момент, до светло-серого цвета, чтобы придать иллюзию, что он отключен, возможно, будет другим способом. Neway я попробовал это. для SeekBar Aс использованием 2 поисковых балов в той же деятельности

 @Override 
     public void onStartTrackingTouch(SeekBar seekbar) { 
      // TODO Auto-generated method stub 

      seekbarB.setEnabled(false); 
      seekbarA.setEnabled(true); 
     } 
     @Override 
     public void onStopTrackingTouch(SeekBar seekbar) { 
      // TODO Auto-generated method stub 
      seekbarB.setEnabled(true); 
      seekbarA.setEnabled(true); 
     } 

и SeekBar B

@Override 
     public void onStartTrackingTouch(SeekBar seekbar) { 
      // TODO Auto-generated method stub 
      seekbarB.setEnabled(true); 
      //seekbarA.setEnabled(false); 

     } 
     @Override 
     public void onStopTrackingTouch(SeekBar seekbar) { 
      // TODO Auto-generated method stub 
      seekbarB.setEnabled(true); 
      seekbarA.setEnabled(true); 
     } 

, но тем не менее этот вид работал, но затем, когда пользователь прекратил использовать любой из seekbars тот, который был отключен стал снова разблокируется, который я не хотел, если пользователь не коснулся его. Теперь я знаю, что ваше мышление не позволяет включить поисковые бары в режиме onstoptrackingtouch. Ну, я пробовал это, и искатель, который был отключен, никогда не включался бы, даже если бы вы его коснулись. Я даже внедрил ontouchlistener для каждой кнопки поиска, чтобы узнать, станет ли он активным, но это не так. , поэтому у меня есть три способа помочь вам, ребята. 1. Есть ли способ изменить мой метод выше, чтобы заставить его работать так, как я хочу? 2. Где я могу поместить свой метод поиска для поиска, чтобы поиск был активным только тогда, когда пользователь коснулся его, тем самым достигнув того, что я сказал выше? 3. Есть ли способ изменить обычай seekbars цвета в Java, чтобы достичь того, чего я хочу

ответ

0

Вы можете попробовать следующее: положить SeekBar в Layout, что обернуть SeekBar и поставить OnTouchListener на Layout, а затем снова -enable SeekBar, когда пользователь коснется Layout.

Цвет SeekBar не может быть легко изменен afaik (вам нужно создать цветные ресурсы, см. this site для создания таких ресурсов).

Если вы хотите сообщить пользователю, что он может использовать только один SeekBar в то время, я бы, вместо того, чтобы использовать

seekbar.setEnabled(false) 

просто уменьшить альфу SeekBar, что делает его «бледный». Используйте seekBar.setAlpha() или, если вы хотите настроить уровни API < 11, используйте класс ViewHelper this library.

Смежные вопросы