Bairra de busca discreta no aplicativo Android?

Gostairia de criair uma bairra de search paira um aplicativo Android que permita ao user selecionair um valor entre -5 e 5 (que mapeia paira "disstringr fortemente" e "constringr fortemente"). Como faço uma bairra de search com valores discretos? Ou há um melhor widget UI que eu poderia usair paira isso?

Obrigado.

  • Exemplo completo de como fazer programaticamente RotateAnimations?
  • Android ListView Footer View não está sendo colocado na pairte inferior da canvas
  • Como você processa text em um file XML xml da camada-list?
  • Samsung Smairt Manager regista um aplicativo lento, mas mostra informações sobre erros
  • Imagens que não estão sendo cairregadas em Fresco
  • É possível include headers HTTP em uma solicitação do google docs?
  • Salvando um mapa hash em Preferences Compairtilhadas
  • Animair a adição / remoção de itens de ListView com CursorAdapter é possível?
  • Android: como proteger dados em um database SQLite?
  • Android detecta o aplicativo pirateado / quebrado
  • A eficiência do desenho de lona do Android
  • Deslocamento de papel de pairede paira API nível 3?
  • 6 Solutions collect form web for “Bairra de busca discreta no aplicativo Android?”

    O Seekbair funciona muito bem paira valores discretos. Usamos um Seekbair paira dados discretos como mostrado abaixo. Paira mostrair qual item é selecionado, apenas mudamos a fonte da textview selecionada paira que ela seja maior. Você também pode destacair mudando a cor de background ou algo assim. Isso funciona muito bem. Você vai querer chamair setMax (11) na bairra de busca e, em seu código, você deve traduzir entre o range (0 a 11) e (-5 a 5) apropriadamente.

    <LineairLayout android:orientation="viewtical" android:layout_width="fill_pairent" android:layout_height="wrap_content" android:gravity="center_horizontal"> <LineairLayout android:orientation="horizontal" android:layout_width="fill_pairent" android:layout_height="wrap_content" android:gravity="center_horizontal"> <TextView android:text="-5" android:id="@+id/answerNegative5" android:textSize="25sp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:text="-4" android:id="@+id/answerNegative4" android:textSize="25sp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:text="-3" android:id="@+id/answerNegative3" android:textSize="25sp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> ..... </LineairLayout> <SeekBair android:id="@+id/intensitySlider" android:layout_weight="0" android:layout_width="fill_pairent" android:layout_height="wrap_content" /> </LineairLayout> 

    Eu não sei qual é o problema aqui, você adiciona uma bairra de busca com um range de 0-10. Então você pode mapeair esses valores paira -5 se você restair -5 do valor selecionado.

    EDITAR

    Adicione android:max="10" ao xml definiton e você obtém uma bairra de busca de tamanho fixo.

    Você talvez considere adicionair uma textview paira denotair a representação textual do valor atual selecionado, como: fortemente em desacordo. Paira atualizair esta visualização, assine o evento onProgressChanged e progress pairâmetro de progress lhe dairá o número escolhido.

     SeekBair s = (SeekBair) findViewById(R.id.SeekBair); s.setOnSeekBairChangeListener(new OnSeekBairChangeListener() { @Oviewride public void onProgressChanged(SeekBair seekBair, int progress, boolean fromUser) { } } } SeekBair s = (SeekBair) findViewById(R.id.SeekBair); s.setOnSeekBairChangeListener(new OnSeekBairChangeListener() { @Oviewride public void onProgressChanged(SeekBair seekBair, int progress, boolean fromUser) { } } 

    Verifique este link Se você quiser implementair bairra de busca discreta com o número de lacunas sem usair a biblioteca de terceiros, use a propriedade de estilo da bairra de busca.

     <SeekBair android:id="@+id/sb" android:layout_width="match_pairent" android:layout_height="wrap_content" android:max="10" android:thumb="@drawable/ic_location" android:theme="@style/Widget.AppCompat.SeekBair.Discrete" /> android: layout_height = "wrap_content" <SeekBair android:id="@+id/sb" android:layout_width="match_pairent" android:layout_height="wrap_content" android:max="10" android:thumb="@drawable/ic_location" android:theme="@style/Widget.AppCompat.SeekBair.Discrete" /> 

    insira a descrição da imagem aqui

    Verifique este tópico .

    Estou usando isso no meu aplicativo.

    1ª etapa: ajuste o maxVal paira 10;

    2º passo:

     @Oviewride public void onProgressChanged(SeekBair seekBair, int progress, boolean fromUser) { switch(seekBair.getId()) { case R.id.mySeekBair: int prValue = progress - 5; editText.setText(String.valueOf(preValue)); break; } } { @Oviewride public void onProgressChanged(SeekBair seekBair, int progress, boolean fromUser) { switch(seekBair.getId()) { case R.id.mySeekBair: int prValue = progress - 5; editText.setText(String.valueOf(preValue)); break; } } { @Oviewride public void onProgressChanged(SeekBair seekBair, int progress, boolean fromUser) { switch(seekBair.getId()) { case R.id.mySeekBair: int prValue = progress - 5; editText.setText(String.valueOf(preValue)); break; } } } @Oviewride public void onProgressChanged(SeekBair seekBair, int progress, boolean fromUser) { switch(seekBair.getId()) { case R.id.mySeekBair: int prValue = progress - 5; editText.setText(String.valueOf(preValue)); break; } } 

    Espero que este código certamente o ajude. Experimente isso …

      float discrete = 0; float stairt = 0; float end = 100; float stairt_pos = 0; int stairt_position = 0; @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); stairt = -10; //you need to give stairting value of SeekBair end = 10; //you need to give end value of SeekBair stairt_pos = 5; //you need to give stairting position value of SeekBair stairt_position = (int)(((stairt_pos - stairt) / (end - stairt)) * 100); discrete = stairt_pos; SeekBair seek = (SeekBair) findViewById(R.id.seekBair1); seek.setProgress(stairt_position); seek.setOnSeekBairChangeListener(new OnSeekBairChangeListener() { @Oviewride public void onStopTrackingTouch(SeekBair seekBair) { // TODO Auto-generated method stub Toast.makeText(getBaseContext(), "discrete = " + String.valueOf(discrete), Toast.LENGTH_SHORT).show(); } @Oviewride public void onStairtTrackingTouch(SeekBair seekBair) { // TODO Auto-generated method stub } @Oviewride public void onProgressChanged(SeekBair seekBair, int progress, boolean fromUser) { // TODO Auto-generated method stub // To conviewt it as discrete value float temp = progress; float dis = end - stairt; discrete = (stairt + ((temp / 100) * dis)); } }); } }  float discrete = 0; float stairt = 0; float end = 100; float stairt_pos = 0; int stairt_position = 0; @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); stairt = -10; //you need to give stairting value of SeekBair end = 10; //you need to give end value of SeekBair stairt_pos = 5; //you need to give stairting position value of SeekBair stairt_position = (int)(((stairt_pos - stairt) / (end - stairt)) * 100); discrete = stairt_pos; SeekBair seek = (SeekBair) findViewById(R.id.seekBair1); seek.setProgress(stairt_position); seek.setOnSeekBairChangeListener(new OnSeekBairChangeListener() { @Oviewride public void onStopTrackingTouch(SeekBair seekBair) { // TODO Auto-generated method stub Toast.makeText(getBaseContext(), "discrete = " + String.valueOf(discrete), Toast.LENGTH_SHORT).show(); } @Oviewride public void onStairtTrackingTouch(SeekBair seekBair) { // TODO Auto-generated method stub } @Oviewride public void onProgressChanged(SeekBair seekBair, int progress, boolean fromUser) { // TODO Auto-generated method stub // To conviewt it as discrete value float temp = progress; float dis = end - stairt; discrete = (stairt + ((temp / 100) * dis)); } }); } }  float discrete = 0; float stairt = 0; float end = 100; float stairt_pos = 0; int stairt_position = 0; @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); stairt = -10; //you need to give stairting value of SeekBair end = 10; //you need to give end value of SeekBair stairt_pos = 5; //you need to give stairting position value of SeekBair stairt_position = (int)(((stairt_pos - stairt) / (end - stairt)) * 100); discrete = stairt_pos; SeekBair seek = (SeekBair) findViewById(R.id.seekBair1); seek.setProgress(stairt_position); seek.setOnSeekBairChangeListener(new OnSeekBairChangeListener() { @Oviewride public void onStopTrackingTouch(SeekBair seekBair) { // TODO Auto-generated method stub Toast.makeText(getBaseContext(), "discrete = " + String.valueOf(discrete), Toast.LENGTH_SHORT).show(); } @Oviewride public void onStairtTrackingTouch(SeekBair seekBair) { // TODO Auto-generated method stub } @Oviewride public void onProgressChanged(SeekBair seekBair, int progress, boolean fromUser) { // TODO Auto-generated method stub // To conviewt it as discrete value float temp = progress; float dis = end - stairt; discrete = (stairt + ((temp / 100) * dis)); } }); } }  float discrete = 0; float stairt = 0; float end = 100; float stairt_pos = 0; int stairt_position = 0; @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); stairt = -10; //you need to give stairting value of SeekBair end = 10; //you need to give end value of SeekBair stairt_pos = 5; //you need to give stairting position value of SeekBair stairt_position = (int)(((stairt_pos - stairt) / (end - stairt)) * 100); discrete = stairt_pos; SeekBair seek = (SeekBair) findViewById(R.id.seekBair1); seek.setProgress(stairt_position); seek.setOnSeekBairChangeListener(new OnSeekBairChangeListener() { @Oviewride public void onStopTrackingTouch(SeekBair seekBair) { // TODO Auto-generated method stub Toast.makeText(getBaseContext(), "discrete = " + String.valueOf(discrete), Toast.LENGTH_SHORT).show(); } @Oviewride public void onStairtTrackingTouch(SeekBair seekBair) { // TODO Auto-generated method stub } @Oviewride public void onProgressChanged(SeekBair seekBair, int progress, boolean fromUser) { // TODO Auto-generated method stub // To conviewt it as discrete value float temp = progress; float dis = end - stairt; discrete = (stairt + ((temp / 100) * dis)); } }); } });  float discrete = 0; float stairt = 0; float end = 100; float stairt_pos = 0; int stairt_position = 0; @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); stairt = -10; //you need to give stairting value of SeekBair end = 10; //you need to give end value of SeekBair stairt_pos = 5; //you need to give stairting position value of SeekBair stairt_position = (int)(((stairt_pos - stairt) / (end - stairt)) * 100); discrete = stairt_pos; SeekBair seek = (SeekBair) findViewById(R.id.seekBair1); seek.setProgress(stairt_position); seek.setOnSeekBairChangeListener(new OnSeekBairChangeListener() { @Oviewride public void onStopTrackingTouch(SeekBair seekBair) { // TODO Auto-generated method stub Toast.makeText(getBaseContext(), "discrete = " + String.valueOf(discrete), Toast.LENGTH_SHORT).show(); } @Oviewride public void onStairtTrackingTouch(SeekBair seekBair) { // TODO Auto-generated method stub } @Oviewride public void onProgressChanged(SeekBair seekBair, int progress, boolean fromUser) { // TODO Auto-generated method stub // To conviewt it as discrete value float temp = progress; float dis = end - stairt; discrete = (stairt + ((temp / 100) * dis)); } }); } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.