导航

通过seekBar改变图片的透明度

Posted on 2016-03-14 21:02  堕落天使不再来  阅读(240)  评论(0)    收藏  举报

 作者:堕落的天使

对应的图片

activity_main.xml(代码)

 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/progressBar1"
        android:layout_alignTop="@+id/textView1"
        android:src="@drawable/bg" />

    <SeekBar
        android:id="@+id/seekBar1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/imageView1"
        android:layout_alignLeft="@+id/imageView1"
        android:max="100"
        android:layout_marginBottom="22dp" />

</RelativeLayout>
View Code

 

activity_main.java(代码)

 

package com.example.progresstest;

import android.os.Bundle;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //图片的透明度setalpha()
        final ImageView img = (ImageView) findViewById(R.id.imageView1);
        SeekBar seekBar = (SeekBar) findViewById(R.id.seekBar1);
        seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
            
            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                img.setAlpha(seekBar.getProgress());
                
            }
            
            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub
                
            }
            
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                // TODO Auto-generated method stub
                
            }
        });
        
    }

重点:1.要使用setalpha(int alpha) 其中alpha为1~255之间的数值。

   2.通过SeekBar.getprogess()获取到当前progress的数值;

   3.监听器是onSeekBarChangeListener();

版权所有,盗版必需说明。