导航:首页 > 操作系统 > androidseekbar垂直

androidseekbar垂直

发布时间:2022-07-22 05:19:40

android关于自定义seekbar控件的问题(将横向seekbar改成竖向seekbar)

是不是按键值出错了,你在onKeyDown里每次按键都打印出来按键值System.out.println("键值:"+keyCode);
然后看看按键值是不是跟你写的对应

㈡ android 怎么实现类似SeekBar的单向调节改成双向调节范围

网上有个重写View实现的,SeekBarPressure

以下是一个使用SeekBar来调节系统音量的实例:
XML代码:
<SeekBar
android:id="@+id/sound"
android:layout_width="150px"
android:layout_height="10px"
android:max="100" //设置拖动条最大值
android:progress="10" //设置拖动条当前值
android:progressDrawable="@layout/seekbar_style" //拖动条样式
android:thumb="@layout/thumb" /> //滑块样式

seekbar_style.xml:
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@android:id/background">
<shape>
<corners android:radius="10dip" />
<gradient android:startColor="#ffffffff"
android:centerColor="#ff000000" android:endColor="#ff808A87"
android:centerY="1" android:angle="270" />
</shape>
</item>

<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="10dip" />
<gradient android:startColor="#ffffffff"
android:centerColor="#ffFFFF00" android:endColor="#ffAABD00"
android:centerY="1" android:angle="270" />
</shape>
</clip>
</item>
</layer-list>

thumb.xml:
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 按下状态 -->
<item
android:state_pressed="true"
android:drawable="@drawable/thumb_normal"
/>

<!-- 普通无焦点状态 -->
<item
android:state_focused="false"
android:state_pressed="false"
android:drawable="@drawable/thumb_normal"
/>

</selector>

bacon_seekbar.xml:
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android"
>
<item
android:id="@+android:id/background"
android:drawable="@drawable/thumb_normal" />
<item
android:id="@+android:id/SecondaryProgress"
android:drawable="@drawable/thumb_normal" />
<item
android:id="@+android:id/progress"
android:drawable="@drawable/thumb_normal" />
</layer-list>

JAVA代码:
public class PianoActivity extends Activity {
/** Called when the activity is first created. */
private ImageButton imageButton_white1;
private MediaPlayer mediaPlayer01;
public AudioManager audiomanage;
private TextView mVolume ; //显示当前音量
public SeekBar soundBar;
private int maxVolume, currentVolume;

private int volume=0; //初始化声音

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mediaPlayer01 = new MediaPlayer();

imageButton_white1=(ImageButton)findViewById(R.id.white1);
final SeekBar soundBar=(SeekBar)findViewById(R.id.sound); //音量设置
mVolume = (TextView)findViewById(R.id.mVolume);
audiomanage = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

maxVolume = audiomanage.getStreamMaxVolume(AudioManager.STREAM_MUSIC); //获取系统最大音量
soundBar.setMax(maxVolume); //拖动条最高值与系统最大声匹配
currentVolume = audiomanage.getStreamVolume(AudioManager.STREAM_MUSIC); //获取当前值
soundBar.setProgress(currentVolume);
mVolume.setText(currentVolume*100/maxVolume + " %");

soundBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() //调音监听器
{
public void onProgressChanged(SeekBar arg0,int progress,boolean fromUser)
{
audiomanage.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0);
currentVolume = audiomanage.getStreamVolume(AudioManager.STREAM_MUSIC); //获取当前值
soundBar.setProgress(currentVolume);
mVolume.setText(currentVolume*100/maxVolume + " %");
}

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

}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub

}
});

TextView的XML没有给出,需要自己添加。

㈢ android studio怎么修改seekbar样式

android:id="@+id/player_seekbar"
android:layout_width="245px"
android:layout_height="25px"
android:progressDrawable="@drawable/seekbar_style"
android:thumb="@drawable/thumb"
android:paddingLeft="16px"
android:paddingRight="15px"
android:paddingTop="5px"
android:paddingBottom="5px"
android:progress="0"
android:max="0"
android:secondaryProgress="0"
/>
Android:progressDrawable="@drawable/seekbar_style"背景条
seekbar_style配置如下:
Xml代码
<?xml version="1.0" encoding="UTF-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

㈣ 求助,Android里面的seekbar怎么垂直显示

把seekbar复写了。。旋转90度就可以了。

import android.content.Context;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.SeekBar;

public class SlideBar extends SeekBar {

private int oHeight = 100;
private int oWidth = 30;
private int oProgress = -1;
private int oOffset = -1;;
private float xPos = -1;
private float yPos = -1;
private int top = -1;
private int bottom = -1;
private int left = -1;
private int right = -1;

public SlideBar(Context context) {

super(context);
}

public SlideBar(Context context, AttributeSet attrs) {

super(context, attrs);
oOffset = this.getThumbOffset();
oProgress = this.getProgress();
}

public SlideBar(Context context, AttributeSet attrs, int defStyle) {

super(context, attrs, defStyle);
}

protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

int height = View.MeasureSpec.getSize(heightMeasureSpec);
oHeight = height;
this.setMeasuredDimension(oWidth, oHeight);
}

protected void onSizeChanged(int w, int h, int oldw, int oldh) {

super.onSizeChanged(h, w, oldw, oldh);
}

// 设置layout
protected void onLayout(boolean changed, int l, int t, int r, int b) {

super.onLayout(changed, l, t, r, b);
left = l;
right = r;
top = t;
bottom = b;
}

// 画出滚动条
protected void onDraw(Canvas c) {
// 旋转
c.rotate(90);
//控制左右位置
c.translate(0,-30);
super.onDraw(c);
}

public boolean onTouchEvent(MotionEvent event) {

xPos = event.getX();
yPos = event.getY();
float progress = 1-(yPos-this.getTop())/(this.getBottom()- this.getTop());
oOffset = this.getThumbOffset();
oProgress = this.getProgress();
Log.d("offset" + System.nanoTime(), new Integer(oOffset).toString());
Log.d("progress" + System.nanoTime(), new Integer(oProgress).toString());
float offset;
offset = progress * (this.getBottom() - this.getTop());
this.setThumbOffset((int)offset);
Log.d("offset_postsetprogress" + System.nanoTime(), new Integer(oOffset).toString());
Log.d("progress_postsetprogress" + System.nanoTime(), new Integer(oProgress).toString());
// this.setProgress((int)(100*event.getY()/this.getBottom()));
this.setProgress((int)(100 * progress));
return true;
}
}

㈤ android开发中,seekBar在拖动时进度会改变,如何让音乐播放进度随之改变

  1. seekbar.setOnSeekBarChangeListener(new seekbarListener());

  2. //这个监听seekbar变化的,一旦有变,变化到哪progress表示

  3. private class seekbarListener implements OnSeekBarChangeListener{

  4. @Override

  5. public void onProgressChanged(SeekBar seekbar, int progress, boolean fromUser) {

  6. if(fromUser==true){

  7. mediaplay.seekTo(progress);//这里就是音乐播放器播放的位子

  8. }

  9. }

  10. @Override

  11. public void onStartTrackingTouch(SeekBar arg0) {

  12. // TODO Auto-generated method stub

  13. }

  14. @Override

  15. public void onStopTrackingTouch(SeekBar arg0) {

  16. // TODO Auto-generated method stub

  17. }

  18. }

  19. 还有就是seekbar的进度条变化用Handler更新,

㈥ android 带节点的seekbar怎么搞

sdk里面没有提供设置成垂直的方法 要自己去实现 查看原帖>>

㈦ Android开发中SeekBar的值改变后,系统如何得到其改变后的值

SeekBar是ProgressBar的扩展,在其基础上增加了一个可拖动的thumb(注:就是那个可拖动的图标)。用户可以触摸thumb并向左或向右拖动,再或者可以使用方向键都可以设置当前的进度等级。不建议把可以获取焦点的widget放在SeekBar的左边或右边。
SeekBar的setProgress是对Seekbar进行进度设置的方法,
通过使用seekbar.setProgress(叮笭耻蝗侪豪抽通处坤0),可以设置成 seekbar的最小值

阅读全文

与androidseekbar垂直相关的资料

热点内容
程序员会压抑 浏览:680
物探编程 浏览:300
vuepdf预览 浏览:325
迷你世界出编程软件了 浏览:673
res文件夹有哪些 浏览:142
交通信号灯单片机课程设计 浏览:826
如何测试流媒体服务器的并发能力 浏览:161
溯源码有分国家认证的吗 浏览:218
如何通过app查询产检报告 浏览:944
拉结尔安卓手机怎么用 浏览:695
驱动级进程代理源码 浏览:782
androidshape画线 浏览:511
程序员想辞职被拒绝 浏览:101
java面试逻辑 浏览:749
如何下载全英文app 浏览:724
js函数式编程指南 浏览:380
为什么安卓手机相机启动会卡 浏览:341
python中t是什么意思 浏览:765
移动硬盘内存加密 浏览:407
单片机测角度 浏览:864