【安卓】拖动滑块改变图片的透明度

来源:互联网 发布:土地利用现状数据价格 编辑:程序博客网 时间:2024/05/17 22:06

SeekBar可以改变拖动条外观,通过如下属性来指定:

android:thumb:指定Drawable对象,该对象可以定义自定义滑块。

为了让程序响应拖动条滑块的改变,程序可以绑定一个OnSeekBarChangeListener监听器。

程序效果如下:



示例程序要两个组件,一个ImageViewyon用于显示图片,一个SeekBar用于动态改变图片的透明度;


布局文件如下:(记住,图片的名字不可以用数字开头,会出错)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/LinearLayout1"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    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="fill_parent"        android:layout_height="240px"        android:src="@drawable/aa" />    <SeekBar        android:id="@+id/seekBar1"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:max="255"        android:progress="255"        android:thumb="@drawable/icon" /></LinearLayout>
程序清单如下:

package com.example.seekbar;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.widget.ImageView;import android.widget.SeekBar;import android.widget.SeekBar.OnSeekBarChangeListener;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);final ImageView image=(ImageView)findViewById(R.id.imageView1);SeekBar seekBar=(SeekBar)findViewById(R.id.seekBar1);seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {}//当拖动条的滑块位置发生改变时触发方法@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {//动态改变图片的透明度image.setAlpha(progress);}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}



0 0
原创粉丝点击