Я хочу вертикальный поискBar, как показано ниже: (для android 4.O +)). его в Google Play Music App.Android Vertical Seek Bar, как Google Play Music App
я попробовал ниже образом: , но я не могу установить высота & ширина
<SeekBar
android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:rotation="270"
/>
я хочу, как показано ниже:
прямо сейчас я использовали этот Stack Answer, но его слишком сложно nage несколько вертикальных.
Я ищу лучший способ, чем это.
EDIT:
я использовал ниже код из iDroid Explorer's answer пытаются отобразить вертикальные панели поиска:
private void setupEqualizerFxAndUI() {
for (short i = 0; i < 5; i++) {
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT);
layoutParams.weight = 3;
LinearLayout row = new LinearLayout(this);
row.setOrientation(LinearLayout.VERTICAL);
row.setLayoutParams(layoutParams);
TextView minDbTextView = new TextView(this);
minDbTextView.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
minDbTextView.setText(i + " dB");
TextView maxDbTextView = new TextView(this);
maxDbTextView.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
maxDbTextView.setText(i + " dB");
LinearLayout.LayoutParams layoutParams1 = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
layoutParams1.weight = 2;
SeekBar bar = new SeekBar(this);
bar.setLayoutParams(layoutParams1);
bar.setMax(100);
bar.setProgress(20);
bar.setRotation(270);
bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
}
public void onStartTrackingTouch(SeekBar seekBar) {
}
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
row.addView(minDbTextView);
row.addView(bar);
row.addView(maxDbTextView);
mLinearLayout.addView(row);
}
}
, но это выглядит, как показано ниже: индикатор не отображается.
, если я использую только один SeekBar тогда его внешний вид, как показано ниже:
он такой же, как использование: android:rotation="270"
в файле макета.
создать пользовательский класс, который расширяет SeekBar, а затем создать столько вертикальных SeekBar вы хотите –
@Dhawal Sodha: Можете ли вы сказать мне, какие трудности вы столкнулись во время реализации моего кода? или мой код работает для вас? –
Использование родных событий касания от Android работает очень хорошо, чтобы создавать пользовательские представления с функцией перетаскивания, используя понятия «начальная позиция», «дельта» и «конечная позиция». Android API очень ясен и стабилен при работе с событиями касания, что делает логику логичной логикой. –