我希望能在用户滚动android-wheel时,为每个项目更改振动手机并播放声音。我在iPhone的默认时间选择器中看到过这种效果,当我们滚动时间时,它会播放滴答声。 可能吗?如果是,请告诉我如何操作?如果我的问题描述不正确,请帮我修改。
请尝试以下步骤:
步骤1:在AndroidManifest.xml文件中添加以下内容
<uses-permission android:name="android.permission.VIBRATE"/>
onCreate()
方法中,第二步是: Vibrator v = (Vibrator) this.context.getSystemService(Context.VIBRATOR_SERVICE);
MediaPlayer mp = MediaPlayer.create(this, R.raw.your_sound);
步骤二:在ListView
上设置setOnScrollListener
:
listView.setOnScrollListener(new OnScrollListener(){
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
// Vibrate for 500 milliseconds
v.vibrate(500);
mp.start();
Log.i("a", "scrolling...");
}
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
Log.i("a", "scrolling stoped...");
}
});
Vibrator v = (Vibrator) holder.itemView.getContext().getSystemService(Context.VIBRATOR_SERVICE);
// Vibrate for 20 milliseconds
v.vibrate(20);
试试这个:
import android.os.Vibrator;
ListView lv = (ListView)findViewById(R.id.list_view);
lv.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
Vibrator v = (Vibrator) this.context.getSystemService(Context.VIBRATOR_SERVICE);
// Vibrate for 500 milliseconds
v.vibrate(500);}
});
<uses-permission android:name="android.permission.VIBRATE"/>
onScrollStateChanged
,而不是每个项目都会调用。 :( - Arsalan