首页 > 编程知识 正文

seekbar的简单使用

时间:2023-05-03 17:20:22 阅读:212769 作者:1979

<SeekBar android:id="@+id/seekBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:max="100" android:progressBackgroundTint="#7F7F7F" android:progressTint="#7F7F7F" android:thumb="@drawable/seekbar_thumb"/>


其中progressBackgroundTint和progressTint 为seekabr的进度条的完成的颜色和未完成的颜色,也可以用图片;
thumb为进度条上的图片。

seekbar_thumb 这里全部用一样的

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:state_pressed="false" android:drawable="@mipmap/icon_seekbar" /> <item android:state_focused="true" android:state_pressed="true" android:drawable="@mipmap/icon_seekbar" /> <item android:state_focused="false" android:state_pressed="true" android:drawable="@mipmap/icon_seekbar" /> <item android:drawable="@mipmap/icon_seekbar" /></selector>

接下来说说这个和seekbar有关的界面的布局的实现

下面为水平的seekbar
之所以自定义MySeekBar,是为了禁止seekbar的拖动

<LinearLayout android:id="@+id/ll_pro" android:padding="10dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:orientation="horizontal"> <FrameLayout android:layout_gravity="center_vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageView android:id="@+id/iv_go_play" android:layout_width="45dp" android:layout_height="45dp" android:layout_gravity="center_vertical" android:src="@mipmap/icon_paly"/> <ImageView android:id="@+id/iv_go_pause" android:layout_width="45dp" android:layout_height="45dp" android:layout_gravity="center_vertical" android:src="@mipmap/icon_pause" android:visibility="gone"/> </FrameLayout> <com.xw.vehicle.mgr.ui.track.MySeekBar android:id="@+id/seekBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:max="100" android:progressBackgroundTint="#7F7F7F" android:progressTint="#7F7F7F" android:thumb="@drawable/seekbar_thumb"/> </LinearLayout>

MySeekBar :

public class MySeekBar extends SeekBar { public MySeekBar(Context context) { super(context); } public MySeekBar(Context context, AttributeSet attrs) { this(context, attrs, android.R.attr.seekBarStyle); } public MySeekBar(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } /** * 重写onTouchEvent方法 禁止拖动 * */ @Override public boolean onTouchEvent(MotionEvent event) { //return super.onTouchEvent(event); return false ; }}

垂直的seekbar
主要就是把 LinearLayout 旋转90度就可以了

<LinearLayout android:layout_width="wrap_content" android:layout_height="40dp" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:orientation="horizontal" android:padding="5dp" android:rotation="90" android:translationX="90dp"> <TextView android:id="@+id/run_speed" android:layout_width="30dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginRight="2dp" android:gravity="center" android:rotation="-90" android:text="1.0x" android:textColor="@color/gray_33" android:textSize="12sp" /> <SeekBar android:id="@+id/verticalSeekBar" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:max="90" android:progressBackgroundTint="@color/black" android:progressTint="@color/black" android:thumb="@drawable/seekbar_thumb" android:visibility="visible" /> <TextView android:layout_width="30dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginLeft="2dp" android:gravity="center" android:rotation="-90" android:text="10.0x" android:textColor="@color/gray_33" android:textSize="12sp" /></LinearLayout>

mldlq

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。