Android SeekBar控件详解

来源:互联网 发布:ark网络加速器 安卓版 编辑:程序博客网 时间:2024/06/03 19:48

SeekBar控件详解

使用 SeekBar 实现图片的虚幻

注解:图片虚幻度最大值为255,为实体最小值为0,虚幻值越小,图片越虚幻。


使用 SeekBar 实现图片的虚幻有两种方式:
第一种是 : implements SeekBar.OnSeekBarChangeListener 然后重写方法

第二种是:private SeekBar.OnSeekBarChangeListener sbl = new SeekBar.OnSeekBarChangeListener(){}; 创建一个方法 用来监听SeekBar控件


原图为:

原图

效果图为:

效果图


xml 布局 seekbar.xml:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical" android:layout_width="match_parent"    android:layout_height="match_parent">       <TextView        android:id="@+id/tv_homeWork_text"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="图片虚幻度为:255"        /><ImageView    android:id="@+id/iv_homeWork_image"    android:layout_width="100dp"    android:layout_height="100dp"    android:src="@drawable/s2"    />    <SeekBar        android:id="@+id/sb_homeWork_lucency"        android:layout_width="250dp"        android:layout_height="wrap_content"        /></LinearLayout>

第一种方法

package androidstudio.androidsix;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.ImageView;import android.widget.SeekBar;import java.io.File;/** * Created by Administrator on 2017/6/6. */public class SeekBarActivity extends AppCompatActivity  implements  SeekBar.OnSeekBarChangeListener {    private ImageView imageView;    private SeekBar sb;    private int  currentAlpha=255;    private TextView tv;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.seekbar);        //获取图片        imageView = (ImageView) findViewById(R.id.iv_homeWork_image);        //获取文本框        tv = (TextView) findViewById(R.id.tv_homeWork_text);        //获取SeekBar        sb = (SeekBar) findViewById(R.id.sb_homeWork_lucency);        sb.setMax(255);        sb.setProgress(10);        //seekBar设置滑动事件        sb.setOnSeekBarChangeListener(this);        /**         * 当进度条发生变化时调用该方法         * @param seekBar         * @param progress         * @param fromUser         */        @Override        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {              //设置文本框的值              tv.setText("图片虚幻度为:"+progress);             //滑动滑动条时图片虚幻度跟着变幻             imageView.setImageAlpha(progress);        }        /**         * 开始滑动时调用该方法         * @param seekBar         */        @Override        public void onStartTrackingTouch(SeekBar seekBar) {        }        /**         * 结束滑动时调用该方法         * @param seekBar         */        @Override        public void onStopTrackingTouch(SeekBar seekBar) {        }}

第二种方法
SeekBarActivity.java类

package androidstudio.androidsix;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.ImageView;import android.widget.SeekBar;import java.io.File;/** * Created by Administrator on 2017/6/6. */public class SeekBarActivity extends AppCompatActivity  {    private ImageView imageView;    private SeekBar sb;    private int  currentAlpha=255;    private TextView tv;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.seekBar);        //获取图片        imageView = (ImageView) findViewById(R.id.iv_homeWork_image);        //获取文本框        tv = (TextView) findViewById(R.id.tv_homeWork_text);        //获取SeekBar        sb = (SeekBar) findViewById(R.id.sb_homeWork_lucency);        sb.setMax(255);        sb.setProgress(10);        //seekBar设置滑动事件        sb.setOnSeekBarChangeListener(sbl);    private SeekBar.OnSeekBarChangeListener sbl = new SeekBar.OnSeekBarChangeListener() {        /**         * 当进度条发生变化时调用该方法         * @param seekBar         * @param progress         * @param fromUser         */        @Override        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {              //设置文本框的值              tv.setText("图片虚幻度为:"+progress);             //滑动滑动条时图片虚幻度跟着变幻             imageView.setImageAlpha(progress);        }        /**         * 开始滑动时调用该方法         * @param seekBar         */        @Override        public void onStartTrackingTouch(SeekBar seekBar) {        }        /**         * 结束滑动时调用该方法         * @param seekBar         */        @Override        public void onStopTrackingTouch(SeekBar seekBar) {        }    };}

如有不懂的地方,或者有博文有错误的地方欢迎指出!!!

原创粉丝点击