android 控制手机的体积的大小 切换音效模式

(1)项目介绍

于android API的AudioManager于,它提供了一种方法来调整电话音量。

audioMa.adjustVolume(AudioManager.ADJUST_LOWER, 0);
audioMa.adjustVolume(AudioManager.ADJUST_RAISE, 0);

也能够调节手机声音的模式为震动或者静音

audioMa.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

audioMa.setRingerMode(AudioManager.RINGER_MODE_SILENT);

audioMa.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);

(2)布局文件

<?

xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
  android:id="@+id/layout1"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="@drawable/white"
  xmlns:android="http://schemas.android.com/apk/res/android"
>
  <TextView
    android:id="@+id/myText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/str_text1"
    android:textSize="16sp"
    android:textColor="@drawable/black"
    android:layout_x="20px"
    android:layout_y="42px"
  >
  </TextView>
  <ImageView
    android:id="@+id/myImage"
    android:layout_width="48px"
    android:layout_height="48px"
    android:layout_x="110px"
    android:layout_y="32px"
  >
  </ImageView>
  <TextView
    android:id="@+id/myText2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/str_text2"
    android:textSize="16sp"
    android:textColor="@drawable/black"
    android:layout_x="20px"
    android:layout_y="102px"
  >
  </TextView>
  <ProgressBar
    android:id="@+id/myProgress"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="160dip"
    android:layout_height="wrap_content"
    android:max="7"
    android:progress="5"
    android:layout_x="110px"
    android:layout_y="102px"
  >
  </ProgressBar>
  <ImageButton
    android:id="@+id/downButton"
    android:layout_width="100px"
    android:layout_height="100px"
    android:layout_x="50px"
    android:layout_y="162px"
    android:src="@drawable/down"
  >
  </ImageButton>
  <ImageButton
    android:id="@+id/upButton"
    android:layout_width="100px"
    android:layout_height="100px"
    android:layout_x="150px"
    android:layout_y="162px"
    android:src="@drawable/up"
  >
  </ImageButton>
  <ImageButton
    android:id="@+id/normalButton"
    android:layout_width="60px"
    android:layout_height="60px"
    android:layout_x="50px"
    android:layout_y="272px"
    android:src="@drawable/normal"
  >
  </ImageButton>
  <ImageButton
    android:id="@+id/muteButton"
    android:layout_width="60px"
    android:layout_height="60px"
    android:layout_x="120px"
    android:layout_y="272px"
    android:src="@drawable/mute"
  >
  </ImageButton>
  <ImageButton
    android:id="@+id/vibrateButton"
    android:layout_width="60px"
    android:layout_height="60px"
    android:layout_x="190px"
    android:layout_y="272px"
    android:src="@drawable/vibrate"
  >
  </ImageButton>
</AbsoluteLayout>

(3)代码:

package com.liuzuyi.soundmode;

import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ProgressBar;

public class MainActivity extends Activity {

	 private ImageView myimage;
	 private ImageButton downbutton;
	 private ImageButton upbutton;
	 private ImageButton normalbutton;
	 private ImageButton mutebutton;
	 private ImageButton vibratebutton;
	 private ProgressBar myprogress;
	 private AudioManager audioMa;
	 private int volume;
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		audioMa =(AudioManager)getSystemService(Context.AUDIO_SERVICE);
		myimage = (ImageView)findViewById(R.id.myImage);
		myprogress =(ProgressBar)findViewById(R.id.myProgress);

		downbutton =(ImageButton)findViewById(R.id.downButton);
		upbutton =(ImageButton)findViewById(R.id.upButton);
		normalbutton=(ImageButton)findViewById(R.id.normalButton);
		mutebutton=(ImageButton)findViewById(R.id.muteButton);
		vibratebutton=(ImageButton)findViewById(R.id.vibrateButton);

		volume =audioMa.getStreamVolume(AudioManager.STREAM_RING);
		myprogress.setProgress(volume);
		int mode =audioMa.getRingerMode();
		if(mode == AudioManager.RINGER_MODE_NORMAL ){
			myimage.setImageDrawable(getResources().getDrawable(R.drawable.normal));

		}
		else if(mode == AudioManager.RINGER_MODE_SILENT){
			myimage.setImageDrawable(getResources().getDrawable(R.drawable.mute));
		}
		else if(mode == AudioManager.RINGER_MODE_VIBRATE){
			myimage.setImageDrawable(getResources().getDrawable(R.drawable.vibrate));
		}
		downbutton.setOnClickListener( new OnClickListener() {
			public void onClick(View v) {
				audioMa.adjustVolume(AudioManager.ADJUST_LOWER, 0);
				volume = audioMa.getStreamVolume(AudioManager.STREAM_RING);
				myprogress.setProgress(volume);
				int mode =audioMa.getRingerMode();
				if(mode == AudioManager.RINGER_MODE_NORMAL ){
					myimage.setImageDrawable(getResources().getDrawable(R.drawable.normal));

				}
				else if(mode == AudioManager.RINGER_MODE_SILENT){
					myimage.setImageDrawable(getResources().getDrawable(R.drawable.mute));
				}
				else if(mode == AudioManager.RINGER_MODE_VIBRATE){
					myimage.setImageDrawable(getResources().getDrawable(R.drawable.vibrate));
				}	

			}
		});

		upbutton.setOnClickListener( new OnClickListener() {
			public void onClick(View v) {
				audioMa.adjustVolume(AudioManager.ADJUST_RAISE, 0);
				volume = audioMa.getStreamVolume(AudioManager.STREAM_RING);
				myprogress.setProgress(volume);
				int mode =audioMa.getRingerMode();
				if(mode == AudioManager.RINGER_MODE_NORMAL ){
					myimage.setImageDrawable(getResources().getDrawable(R.drawable.normal));

				}
				else if(mode == AudioManager.RINGER_MODE_SILENT){
					myimage.setImageDrawable(getResources().getDrawable(R.drawable.mute));
				}
				else if(mode == AudioManager.RINGER_MODE_VIBRATE){
					myimage.setImageDrawable(getResources().getDrawable(R.drawable.vibrate));
				}	

			}
		});
		normalbutton.setOnClickListener( new OnClickListener() {
			public void onClick(View v) {
				audioMa.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
			    volume = audioMa.getStreamVolume(AudioManager.STREAM_RING);
			    myprogress.setProgress(volume);
				myimage.setImageDrawable(getResources().getDrawable(R.drawable.normal));
			}
		});
		mutebutton.setOnClickListener( new OnClickListener() {
			public void onClick(View v) {
				audioMa.setRingerMode(AudioManager.RINGER_MODE_SILENT);
			    volume = audioMa.getStreamVolume(AudioManager.STREAM_RING);
			    myprogress.setProgress(volume);
				myimage.setImageDrawable(getResources().getDrawable(R.drawable.mute));
			}
		});
		vibratebutton.setOnClickListener( new OnClickListener() {
			public void onClick(View v) {
				audioMa.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
			    volume = audioMa.getStreamVolume(AudioManager.STREAM_RING);
			    myprogress.setProgress(volume);
				myimage.setImageDrawable(getResources().getDrawable(R.drawable.vibrate));
			}
		});

	}

}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-07-30 20:30:21

android 控制手机的体积的大小 切换音效模式的相关文章

android 控制手机音量的大小 切换声音的模式

(1)程序说明 在android API的AudioManager中,提供了调节手机音量的办法. audioMa.adjustVolume(AudioManager.ADJUST_LOWER, 0); audioMa.adjustVolume(AudioManager.ADJUST_RAISE, 0); 也可以调节手机声音的模式为震动或者静音 audioMa.setRingerMode(AudioManager.RINGER_MODE_NORMAL); audioMa.setRingerMode

android 控制控件的位置和大小

方法一: Android的界面布局可以用两种方法,一种是在xml中布局,一种是和JAVA中Swing一样在JAVA代码中实现Ui界面的布局,用xml的布局管理器布局是很方便的,但是在一些代码中需要动态的显示界面,这个时候xml就缺少了一种灵活性,使用XML和JAVA代码中布局可以解决这样的问题.在此只对JAVA代码中的LoyoutParams方法进行理解及使用. LoyoutParams类中主要保存的是布局参数,元素或组件可以通过这个类实现对布局参数的设置.在xml中它对应的是元素的"空间位置&

Android开发之控制手机音频

本实例通过MediaPlayer播放一首音乐并通过AudioManager控制手机音频,关于AudioManager的详解可参照:Android开发之AudioManager(音频管理器)详解 程序运行效果图: 实例代码: package com.jph.audiomanagerdemo; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Bundle; import an

Android不同手机屏幕分辨率自适应【转】

有必要了解的 Android中常见的单位 dip, dp, px, sp之间的区别: dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖像素.px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多.pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用:sp: scal

转向移动webApp开发的前端工程师必要的代码,手机webApp触摸左右滑动切换轮播图片广告

刚进一家新公司,公司专做手机App的,由于公司业务太多,传统的方法开发app成本太高,每个app要开发几个版本,公司有个想法就是做webApp来代替传统app.我是才接触到webApp的美工一枚. 今天给小伙伴们分享一个好东西,webApp轮播效果,支持手机上用手左右滑动的效果,因为手机的触摸事件和PC端用鼠标操作的事件是不同的,所以我就需要针对移动端的设备触摸事件做相应的轮播特效.大家可以去看下易迅的:http://m.yixun.com/t/ 和淘宝的http://m.taobao.com/

Android 官方提供的支持屏幕大小的全部方法(精华)

本文将告诉你如何让你的应用程序支持各种不同屏幕大小,主要通过以下几种办法: 让你的布局能充分的自适应屏幕 根据屏幕的配置来加载合适的UI布局 确保正确的布局应用在正确的设备屏幕上 提供可以根据屏幕大小自动伸缩的图片 使用 "wrap_content" 和 "match_parent" 为了确保你的布局能够自适应各种不同屏幕大小,你应该在布局的视图中使用"wrap_content"和"match_parent"来确定它的宽和高.

Android之手机向导以及设置中心模块的开发

当我们使用的新的软件的时候,我们首先需要教用户如何使用我们的软件,当用户学习完使用教程,下次再登录的时候,我们应该直接跳到我们的功能界面,下面我来展示一下我学习视频做的效果图:手机防盗这个功能模块就是绑定SIM卡,然后通过检测SIM卡开机的时候是否变更,来保护用户的手机是否处于安全状态,如果发现SIM卡变化,这样就需要我们的第二步,设置一个安全号码,当发现SIM卡已经变化,这个时候手机会自动的发送报警短信提示用户的手机已经处于不安全的状态.当我们看完教程仍不知如何操作我们的软件的时候,这个时候就

Android 自定义 ViewPager 打造千变万化的图片切换效果

Android 自定义 ViewPager 打造千变万化的图片切换效果 标签: Android自定义ViewPagerJazzyViewPager 目录(?)[+] 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38026503 记 得第一次见到ViewPager这个控件,瞬间爱不释手,做东西的主界面通通ViewPager,以及图片切换也抛弃了ImageSwitch之类的,开 始让ViewPager来做.时间长了,ViewPa

【小功能2】android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)

为了实现一个功能,需要搜集手机信息,自己先在网上找了相关信息进行了汇总,主要是汇集手机的信息,一般想要的信息在手机设置->关于手机->状态消息里面包含了手机的各种信息,下面的代码中也主要显示了那些信息,但是源码的方法我还没有看,先把总结的贴出来.先上图(太多就截取几个).  上代码啦,太多了,就写主要代码了. // 获取Android手机中SD卡存储信息 获取剩余空间 public void getSDCardInfo() { // 在manifest.xml文件中要添加 /* * <u