安卓学习之路_20140424_AudioManager、MediaPlayer的综合运用、ScrollView、Gallery
来源:互联网 发布:美国经济数据网站 编辑:程序博客网 时间:2024/06/17 18:45
一、AudioManager
AudioManager是用来对系统的一下音量的设置
常用方法:
android audioManager获取音量:
先获取AudioManager实例,
AudioManager mAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
//通话音量
int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL );
int current = mAudioManager.getStreamVolume(AudioManager.STREAM_VOICE_CALL );
//系统音量
int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_SYSTEM );
current = mAudioManager.getStreamVolume(AudioManager.STREAM_SYSTEM );
//铃声音量
max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_RING);
current = mAudioManager.getStreamVolume(AudioManager.STREAM_RING );
//音乐音量
max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC );
current = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC );
//提示声音音量
max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM );
current = mAudioManager.getStreamVolume(AudioManager.STREAM_ALARM );
综合运用:
SettingActivity.class
import android.app.Activity;import android.content.Context;import android.media.AudioManager;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.ImageView;import android.widget.SeekBar;import android.widget.SeekBar.OnSeekBarChangeListener;import com.jdc.pintu.jigsaw.R;import com.jdc.util.Tools;public class SettingActivity extends Activity implements OnClickListener {ImageView sound, im1, im2, im3, im4;boolean isOn = true;SeekBar size;AudioManager am;int va;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Tools.setFullScreen(this);//设置全屏setContentView(R.layout.activity_setting);//关联布局文件sound = (ImageView) findViewById(R.id.sound);//实例化ImageViewisOn();am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);//实例化AudioManagerim1 = (ImageView) findViewById(R.id.button1);im2 = (ImageView) findViewById(R.id.button2);im3 = (ImageView) findViewById(R.id.button3);im4 = (ImageView) findViewById(R.id.button4);im1.setOnClickListener(this);im2.setOnClickListener(this);im3.setOnClickListener(this);im4.setOnClickListener(this);size = (SeekBar) findViewById(R.id.sounds_size);//实例化SeekBarsize.setMax(am.getStreamMaxVolume(AudioManager.STREAM_MUSIC));//设置系统的最大音量为Seekbar的最大值size.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {MainActivity.ma.music.audio.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0);//拖动SeekBar设置系统音量的大小}});}public void isOn() {if (isOn) {sound.setBackgroundResource(R.drawable.audio_on);} else {sound.setBackgroundResource(R.drawable.audio_off);}}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.button1:MainActivity.ma.music.mp.start();sound.setBackgroundResource(R.drawable.audio_on);break;case R.id.button2:MainActivity.ma.music.mp.pause();sound.setBackgroundResource(R.drawable.audio_off);break;case R.id.button3:MainActivity.ma.music.audio.adjustVolume(AudioManager.ADJUST_LOWER,0);//增大系统音量va = am.getStreamVolume(AudioManager.STREAM_MUSIC);size.setProgress(va);//并把当前系统音量的值传给SeekBarbreak;case R.id.button4:MainActivity.ma.music.audio.adjustVolume(AudioManager.ADJUST_RAISE,0);//减小系统音量va = am.getStreamVolume(AudioManager.STREAM_MUSIC);size.setProgress(va);//并把当前系统音量的值传给SeekBarbreak;default:break;}}}
二、Gallery
注:此类在安卓中已经废弃;
Gallery就是画廊的意思,就是我们常见的一下滑动切换图片的样子;
Gallery一般是配合BaseAdapter来使用的
首先,在布局文件中定义一个Gallery
<Gallery android:id="@+id/gallery" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
然后在我们的Activity中对其实例化,和其控件一样,我们是通过findViewById来进行实例化的。
切换所需要的图片我们通常是存放到res下的drawable目录下,通过其在R.java中生成的id来进行操作,这样做的目的是为了方便,当然我们也可以用位图来进行处理。
实例:
StartActivity.class文件
import com.jdc.pintu.jigsaw.R;import com.jdc.util.Tools;import android.app.Activity;import android.app.AlertDialog;import android.app.AlertDialog.Builder;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.Gallery;public class StartActivity extends Activity implements OnItemClickListener {Gallery gallery;StartAdapter sa;AlertDialog ad;int pics[] = { R.drawable.b0, R.drawable.b1, R.drawable.b2, R.drawable.b3,R.drawable.b4, R.drawable.b5, R.drawable.b7, R.drawable.b8,R.drawable.b9, };//存放图片的一个数组,通过查找图片的id来获取@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Tools.setFullScreen(this);setContentView(R.layout.activity_start);gallery = (Gallery) findViewById(R.id.gallery);gallery.setOnItemClickListener(this);sa = new StartAdapter(this, pics);gallery.setAdapter(sa);}@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position,long id) {Builder builder = new AlertDialog.Builder(this);builder.setIcon(getResources().getDrawable(R.drawable.ic_launcher));builder.setTitle("请选择难度等级");builder.setPositiveButton("简单", new AlertDialog.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {}});builder.setNeutralButton("中等", new AlertDialog.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {}});builder.setNegativeButton("困难", new AlertDialog.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {}});builder.show();}}StartAdapter.class文件
import com.jdc.pintu.jigsaw.R;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;public class StartAdapter extends BaseAdapter {Context con;int pic[];private LayoutInflater mInflater;public StartAdapter(Context con, int[] pic) {this.con = con;this.pic = pic;this.mInflater = LayoutInflater.from(con);}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn pic.length;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {convertView = mInflater.inflate(R.layout.image, null);ImageView image = (ImageView) convertView.findViewById(R.id.img);image.setBackgroundResource(pic[position]);return convertView;}}
三、ScrollView
ScrollView滚动视图,就是我们常见的页面的内容超过我们屏幕,我们可以设置此属性来设置屏幕为可滚动,只需在布局文件的前面嵌套上即可,scrollbar可以设置滚动的方向,如果需要同时垂直和水平滚动,只需在嵌套上Horizontalscroll即可实现。
- 安卓学习之路_20140424_AudioManager、MediaPlayer的综合运用、ScrollView、Gallery
- 安卓学习之路_20140423_GridView、 SeekBar、MediaPlayer
- ImageSwitcher、Gallery、自定义对话框等UI组件的综合运用
- 安卓Button-TextView-EditText综合运用
- 安卓学习之路_20140425_ Gallery、onTouch点击事件、SurfaceView
- 安卓scrollview里面潜入Gallery显示不完全
- MediaPlayer的综合大全
- C++实践之路----容器的综合运用
- 安卓Gallery之自定义图片边框
- 【安卓学习之常见问题】 ScrollView与其他组件的冲突问题
- 安卓学习之解决ScrollView嵌套自定义上拉加载的Listview事件冲突
- Android UI设计——画廊Gallery与提示框Dialog的综合运用
- ImageSwitcher、Gallery、自定义对话框等UI组件的综合运用 头像选择
- ImageSwitcher和Gallery的运用
- ArrayAdapter 的综合运用
- 数组的综合运用
- 安卓学习3-----include&drawable&ScrollView
- 安卓开发之ScrollView(滚动条)
- 抽取器
- 《C++ Primer》学习笔记 第二章 变量与基本类型
- 黑马程序员_typedef与#define注意
- "速算24"算法思路
- 一道百度面试题
- 安卓学习之路_20140424_AudioManager、MediaPlayer的综合运用、ScrollView、Gallery
- java 版本二重积分计算
- 【转载】Quartz动态管理任务
- java 基础知识总结之 类和对象
- ffmpeg文档
- libgdx net之获取文本
- IOS开发:关于performSelectorXXX的延迟的使用
- Linux 视频设备驱动V4L2最常用的控制命令使用说明(1.02)以及我收藏的网址
- 教你如何用C++快速生成1000万个随机数