我正在构建一个Android应用程序,用户可以通过seekbar选择最大值。
我需要另一个按钮上相同的搜索栏,使用户可以选择最大和最小值从一个特定的唯一搜索栏。
这是我的单搜索条代码-
package com.ui.yogeshblogspot;
public class CustomSeekBarExActivity extends Activity implements OnSeekBarChangeListener{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SeekBar bar=(SeekBar)findViewById(R.id.seekBar1);
bar.setOnSeekBarChangeListener(this);
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
TextView tv=(TextView)findViewById(R.id.textView2);
tv.setText(Integer.toString(progress)+"%");
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
}
这是我的搜索栏的xml代码-
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#FFFFFF">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Choose Your Progress"
android:textColor="#000000"
android:textAppearance="?android:attr/textAppearanceMedium" />
<SeekBar
android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:progressDrawable="@xml/progress"
android:max="100"
android:thumb="@xml/thumb"/>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:gravity="center"
android:layout_gravity="center"
android:paddingTop="10dp"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
8条答案
按热度按时间6qftjkof1#
完全自定义双向和单向搜索栏,您可以提供拇指颜色等http://codingsignals.com/crystal-range-seekbar-in-android/
添加到您的gradle中
c9qzyr3d2#
Android部件类库只有一个滑块控件,seekbar只有一个拇指控件。我在网上做了一些研究,发现了这个很酷的自定义部件,range-seek-bar。
您可以遵循以下任何一项
https://github.com/edmodo/range-bar
https://code.google.com/p/range-seek-bar/
https://github.com/Larpon/RangeSeekBar
dz6r00yl3#
从Here开始
ubof19bj4#
既然RangeSlider已正式添加到材质组件并支持所需的选项,我建议使用它而不是外部库。
首先,应该将视图添加到XML布局中:
然后将初始滑块值添加到数组
之后,您可以在代码中访问RangeSlider值:
其中
values
是具有2个成员的浮点数列表xtupzzrd5#
你不需要使用两个seekbar,但是你可以只使用一个seekbar来完成同样的最小值和最大值的功能,在这个库中你可以使用https://code.google.com/p/range-seek-bar/
您可以使用以下代码
并且在“公共布尔onTouchEvent(运动事件)"中,
new9mtju6#
RangeSeekBarhttps://github.com/RanaRanvijaySingh/RangeSeekBar。还有其他库提供了大量的定制。如果你想去更多的交互式设计,然后寻找材料范围栏http://android-arsenal.com/details/1/1272 .
j9per5c47#
你可以用我的this libraby,它有很多定制,支持双向的进步。
pbgvytdp8#
我想这个链接也可能会有帮助。range-seek-bar。在jitpack.io有关于它的解释。