android入门第18天-android里的seekbar的使用(代码片段)

TGITCIC TGITCIC     2022-12-06     382

关键词:

SeekBar的介绍

SeekingBar是这么样的一个东西,它常常用在播放视频、音步时用来调节音量、模糊阀值等场景。

SeekBar里怎么是通过:android:layout_weight="1"这个值设置大小的。

其它我们都使用默认的就行。

我们先来看UI界面的代码吧。

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/TableLayout2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
 
    <TableRow>
 
        <SeekBar
            android:id="@+id/seekBar"
            android:layout_width="match_parent"
            android:layout_weight="10"
            android:layout_height="wrap_content" />
    </TableRow>
 
    <TableRow>
 
        <TextView
            android:id="@+id/seekBarValueTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="5"
            android:text="" />
    </TableRow>
</TableLayout>

 

  • 主界面里我们放了一个SeekBar,放了一个TextView;
  • 每次我们在SeekBar上拖动滑块时,我们会在Textview里显示当前SeekBar的值;

来看后台交互代码的实现。

MainActivity.java

package org.mk.android.demo;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.os.Bundle;
import android.util.Log;
import android.widget.SeekBar;
import android.widget.TextView;
 
public class MainActivity extends AppCompatActivity 
    private SeekBar seekBar;
    private TextView seekBarValueTextView;
    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        try 
            initSeekBar();
        catch(Exception e)
            Log.e("app","initSeekBar() error: "+e.getMessage(),e);
        
    
    private void initSeekBar() 
        seekBar = (SeekBar) findViewById(R.id.seekBar);
        seekBarValueTextView = (TextView) findViewById(R.id.seekBarValueTextView);
        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() 
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) 
                StringBuffer seekValueSB = new StringBuffer();
                seekValueSB.append("current progress is").append(" ").append(String.valueOf(progress)).append(" /100");
                seekBarValueTextView.setText(seekValueSB.toString());
            
 
            @Override
            public void onStartTrackingTouch(SeekBar seekBar) 
                Log.i("app","你按住了SeekBar");
            
 
            @Override
            public void onStopTrackingTouch(SeekBar seekBar) 
                Log.i("app", "你放开了SeekBar");
            
        );
    

请自己动一下手,然后试试看效果如何吧。

android入门第16天-android里的switchbutton的使用(代码片段)

...们在手机应用中经常使用到的。我突然想到2012年我开发Android时,竟然使用了RadioButton来做开关这个梗。其实SwitchButton文如其名,它就是一个“开”和“关”两个状态事件存在时使用的,最典型的SwitchButton长下面这么... 查看详情

android入门第19天-android里的ratingbar的使用(代码片段)

介绍我们先来看一下什么叫RatingBar长什么样的。我们很多时候订单评价给5星、打车评价都是用的这个RatingBar。本节我们学的这个RatingBar(星级评分条)其实在使用上是非常简单的,大家在某宝买过东西的对这个应该不陌生,... 查看详情

android入门第20天-android里的scrollview的使用(代码片段)

介绍ScrollView(滚动条),它有两种“滚动条”:竖直滚动条;水平方向上的滚动条:HorizontalScrollView;我们经常可以看到在手机里正在垂直加载一堆的数据,然后过一会加载得内容过多,到了手机的底部... 查看详情

android入门第22天-android里的计时器chronometer的使用(代码片段)

介绍非常简单的一个计时器,没有太多原理,我们直接上代码。先看课程目标课程目标就是一个简单的计时器,我们直接上使用示例吧界面里有一个计时器,4个按钮。开始计时,上面这个计时器就开始读秒... 查看详情

android入门第43天-activity与activity间的互相传值(代码片段)

...来进行activity与service间的传值。而恰恰这种传值其实也是Android里的通用传值法。它同样可以适用在activity与activity间传值。Android中的传值传单个值传多个值 具体我们来结合例子来看吧课程目标正向传值到下一个activity上反向传... 查看详情

android入门第10天-android访问远程springboot提供的restfulapi接口

需求在上一章中Android入门第9天-Android读本地JSON文件并显示中,我们使用本地的json文件来显示json数据。而实际在生产级开发中,我们都是通过远程的后台提供的RestfulService来接收json数据的返回。我们继着上一章在原有的界面中... 查看详情

android入门第49天-使用radiogroup+fragment来重构类首页底部4个按钮的界面(代码片段)

简介我们在:Android入门第47天-Fragment的基本使用 中使用Fragment制作了一个类首页底部含4个按钮的界面。今天的课程我们要做的是把第47天里的代码中一部分共用的东西抽象到res/values/themes.xml文件中。另外我们使用RadioGroup天... 查看详情

android入门第30天-android里的toast的使用(代码片段)

介绍本篇带来的是:Android用于提示信息的一个控件——Toast(吐司)!Toast是一种很方便的消息提示框,会在屏幕中显示一个消息提示框,没任何按钮,也不会获得焦点一段时间过后自动消失!非常常用!我们通过一个例... 查看详情

android入门第41天-android中的service(bindservice)(代码片段)

介绍在前一天我们介绍了Android中有两种启动Service的方法。并擅述了startService和bindService的区别。同时我们着重讲了startService。因此今天我们就来讲bindService。bindService大家可以认为它是和Android的一个共生体。即这个service所属的ac... 查看详情

android入门第15天-android各版本号对比

版本号英文名中文名API等级发布时间1无无12008年9月23日1.1无无22009年2月9日1.5Cupcake纸杯蛋糕32009年4月30日1.6Donut甜甜圈42009年9月15日2.1Eclair闪电泡芙72009年10月26日2.2Froyo冻酸奶82010年5月20日2.3Gingerbread姜饼92010年12月7日2.3.3Gingerbread姜... 查看详情

android入门第13天-动态创建checkbox(代码片段)

开篇在上一篇我们提到了过。在实际应用场景,我们往往会碰到checkbox依赖于这样的一个json数组然后根据这样的一个数组进行循环再一个个枚举出来。["cbId":1001,"cbIndex":"101","descr":"白色","isChecked":false,"cbId":1002,"cbIndex":"102","descr":"... 查看详情

android入门第40天-android中的service(simplestartservice)(代码片段)

...00万,给自己加油打CALL。从今天开始,之前39天的Android如果每一篇只有30分钟就能读完和掌握那么从今天开始越往后会越复杂。因为我们的Android教程开始进入“中级”难度了。特别是Service,这个Service我要分成好几章... 查看详情

android入门第5天-linerlayout

开篇我们的AndroidStudio默认打开是一种叫ContraintLayout。这种Layout说白了是一种自由布局。自由布局的主要坏处就是:你在设计器、本地开发上看着好好的。到了真机上,你会发觉你的按钮、你的组件、你的线不是上下错位就是左... 查看详情

android入门第21天-android里textclock的使用(代码片段)

介绍TextClock是在Android4.2(API17)后推出的用来替代DigitalClock的一个控件。TextClock可以以字符串格式显示当前的日期和时间,因此推荐在Android4.2以后使用TextClock。这个控件推荐在24进制的android系统中使用,TextClock提供了两种... 查看详情

android入门第9天-android读本地json文件并显示(代码片段)

Android在大都情况会取得后台Service返回的json数据来做前端展示。那么Android是如何处理json文件的呢?我们就一起跟着今天的教程一步步来实现吧。目标设本地有一个demo.json,内容如下"banks":["value":"CDB","text":"国家开发银行","value":"I... 查看详情

android入门第42天-android中的service(intentservice)(代码片段)

开篇在前一篇中我们讲了bindService的使用。并且我们留下了一个念想,即在bindService取值时故意阻塞30秒,引起了一次ANR并引出了今天的章节-IntentService。IntentService的生命周期中有一个非常好的方法-onHandleIntent方法,它... 查看详情

android入门第47天-fragment的基本使用(代码片段)

简介我们的Android入门一步步已经进入中级。我们讲完了所有的基本组件的基本使用、Activity、Service、BroadCast。今天我们来到了Fragment篇章。Fragment和Activity比到底是一个什么样的存在呢?我们以一个很小的例子来说通Fragment。F... 查看详情

android入门第11天-android中radiobutton的使用(代码片段)

目标我们在开发中经常会面临:想做一下这样的一个功能。在本篇中我们就来实现RadioButton,当然,本篇中的控件是hardcode的,我们有时在开发中经常还会碰到需要通过后台service动态渲染一些组件。我们会在稍后的篇章中讲到如... 查看详情