Android第三方開源水面波浪波形view:WaveView(電量、能量、容量指示)




Android第三方開源水面波浪波形view:WaveView(電量、能量、容量指示)

Github上有一個比較有趣的Android第三方開源波形view:WaveView,這種WaveView在一些常見的APP開發中,以水面波浪波形的形象的生動展示手機還剩余多少電量,存儲容量還有多少,比較形象直觀生動。
如圖:


WaveView在github上的項目主頁是:https://github.com/john990/WaveView
WaveView首先需要在布局中定義:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:wave="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<com.john.waveview.WaveView
android:id="@+id/wave_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
wave:above_wave_color="#e53935"
wave:blow_wave_color="#e53935"
wave:progress="60"
wave:wave_height="large"
wave:wave_hz="normal"
wave:wave_length="middle" />

<SeekBar
android:id="@+id/seek_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:layout_marginBottom="20dp"
android:progress="100" />
</FrameLayout>



wave:above_wave_color
wave:blow_wave_color
定義波形的顏色(頂部波形平面的下方)。


wave_height
定義波浪的高度。


wave_hz
定義波浪起伏的頻率赫茲。



wave_length
定義波浪的長度。


以上幾種波浪波形為幾種枚舉類型。


wave:progress
為整型值,以0-100,100表示最高位波浪,0表示最低波浪。



以一個seekbar調整WaveView的代碼為例:

package com.waveview.demo;

import android.app.Activity;
import android.os.Bundle;
import android.widget.SeekBar;

import com.john.waveview.WaveView;

public class MainActivity extends Activity {

private SeekBar seekBar;
private WaveView waveView;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

seekBar = (SeekBar) findViewById(R.id.seek_bar);
waveView = (WaveView) findViewById(R.id.wave_view);

seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
waveView.setProgress(progress);
}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {

}

@Override
public void onStopTrackingTouch(SeekBar seekBar) {

}
});
}
}


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com