Android根据电量变化为不同图片的方法【电池电量提示】
2013-08-16 13:52
831 查看
1 主类
2 xml
3 然后记得要加上这句,这个应该是注册电池广播的,如果不加的话会报错,放在Manifest.xml这个文件里面<service android:name="ElectActivity$BatteryUpDateService"/>
4 效果图【其实代码很好理解的,都不用怎么仔细看的】
package com.jli.battery; import android.app.Activity; import android.app.Service; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.ServiceConnection; import android.content.SharedPreferences; import android.graphics.BitmapFactory; import android.os.Bundle; import android.os.IBinder; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; public class Main extends Activity { private ImageView tvBatteryChanged; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tvBatteryChanged = (ImageView)findViewById(R.id.test); //注册一个接受广播类型 registerReceiver(new BatteryBroadcastReceiver(), new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); } /**接受电量改变广播*/ class BatteryBroadcastReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { if(intent.getAction().equals(Intent.ACTION_BATTERY_CHANGED)){ int level = intent.getIntExtra("level", 0); int scale = intent.getIntExtra("scale", 100); int curPower = (level * 100 / scale)/25; switch (curPower) { case 0: tvBatteryChanged.setImageBitmap(BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.power0)); break; case 1: tvBatteryChanged.setImageBitmap(BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.power1)); break; case 2: tvBatteryChanged.setImageBitmap(BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.power2)); break; case 3: tvBatteryChanged.setImageBitmap(BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.power3)); break; case 4: tvBatteryChanged.setImageBitmap(BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.power4)); break; } } } } }
2 xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/test" android:src="@drawable/power4" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
3 然后记得要加上这句,这个应该是注册电池广播的,如果不加的话会报错,放在Manifest.xml这个文件里面<service android:name="ElectActivity$BatteryUpDateService"/>
4 效果图【其实代码很好理解的,都不用怎么仔细看的】
相关文章推荐
- Android自定义Button并设置不同背景图片的方法
- Android编程之电池电量信息更新的方法(基于BatteryService实现)
- android 通过uri获取图片并根据限制大小读取图片的方法
- Android根据Button状态(normal,focused,pressed)显示不同背景图片
- Android编程实现根据不同日期计算天数差的方法
- 为什么Android应该根据屏幕分辨率来加载不同的图片文件
- 技术干货 - 根据不同系统使用不同样式图片(交换方法)
- Android中同一个ImageView中根据状态显示不同图片
- Android根据Button状态(normal,focused,pressed)显示不同背景图片
- Android 获取屏幕尺寸与密度 遇到一个问题,我的地图浮标图片在WVGA手机上正好,在QVGA上就显的太大,所以我要根据屏幕的不同调整浮标的大小使其在QVGA大小合适。有的同事提出了依据
- 根据IE的不同,调用不同的无提示关闭窗口的方法,
- 初学Android,电池电量提示(七十五) .
- Android里同一个ImageView显示不同的图片的方法
- PHP实现根据图片色界在不同位置加水印的方法
- Android ImageView设置图片的可见性,设置颜色的不同方法,设置图片指定大小
- Android查看电池电量的方法(基于BroadcastReceiver)
- Android做半透明操作提示图片的方法
- Android获取电池电量的三种方法
- Android根据不同语言切换图片
- Android学习小记----监听电量的变化(不能静态注册的广播), 保持Service不被杀死的好方法