一个比较有趣的Android第三方开源波形view:WaveView,这种WaveView在一些常见的APP开发中,以水面波浪波形的形象的生动展示手机还剩余多少电量,存储容量还有多少等,比较形象直观生动。
下载地址:点此下载
wave:above_wave_color wave:blow_wave_color 定义波形的颜色(顶部波形平面的下方)。
wave_height 定义波浪的高度。
wave_hz 定义波浪起伏的频率赫兹。
wave_length 定义波浪的长度。
以上几种波浪波形为几种枚举类型。
wave:progress 为整型值,以0-100,100表示最高位波浪,0表示最低波浪。
xml文件:
1 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 xmlns:wave="http://schemas.android.com/apk/res-auto" 4 android:id="@+id/FrameLayout1" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" > 7 8 <com.john.waveview.WaveView 9 android:id="@+id/wv" 10 android:layout_width="match_parent" 11 android:layout_height="match_parent" 12 android:background="@android:color/white" 13 wave:above_wave_color="#4CAF50" 14 wave:blow_wave_color="#f44336" 15 wave:progress="60" 16 wave:wave_height="large" 17 wave:wave_hz="normal" 18 wave:wave_length="middle" /> 19 20 <SeekBar 21 android:id="@+id/sb" 22 android:layout_width="match_parent" 23 android:layout_height="wrap_content" 24 android:layout_marginBottom="20dp" 25 android:progress="100" /> 26 27 </FrameLayout>
1 package com.lixu.boliang; 2 3 import com.john.waveview.WaveView; 4 import android.app.Activity; 5 import android.os.Bundle; 6 import android.widget.SeekBar; 7 import android.widget.SeekBar.OnSeekBarChangeListener; 8 9 public class MainActivity extends Activity { 10 WaveView wv; 11 12 @Override 13 protected void onCreate(Bundle savedInstanceState) { 14 super.onCreate(savedInstanceState); 15 setContentView(R.layout.activity_main); 16 17 wv = (WaveView) findViewById(R.id.wv); 18 19 SeekBar sb = (SeekBar) findViewById(R.id.sb); 20 21 sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 22 23 @Override 24 public void onStopTrackingTouch(SeekBar seekBar) { 25 26 } 27 28 @Override 29 public void onStartTrackingTouch(SeekBar seekBar) { 30 31 } 32 33 @Override 34 public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 35 // 进度条改变设置波浪 36 wv.setProgress(progress); 37 } 38 }); 39 40 } 41 42 }
运行效果: