我有一个BroadcastReceiver并声明它是这样的:
<receiver
android:name="com.services.Receiver"
android:enabled="true"
android:exported="true" >
<intent-filter android:priority="999" >
<action android:name="android.intent.action.WALLPAPER_CHANGED" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
接收者是:
@Override
public void onReceive(final Context context, final Intent intent)
{
change_wallpepar.myPrefs = context.getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
Log.d("MAYUR", "<< wallpepar changed >>");
if (change_wallpepar.myPrefs.getLong("temp_for_change", 1) == 0)
{
context.stopService(new Intent(context, change_wallpepar.class));
}
else
{
SharedPreferences.Editor e = change_wallpepar.myPrefs.edit();
e.putLong("temp_for_change", 0);
e.commit();
}
}
}, 4000);
}
Run Code Online (Sandbox Code Playgroud)
当我在这里更改壁纸时,它应该被调用一次.它实际上是按照我的期望工作了一段时间,在几分钟后它会调用onreceive()
多次(10-18)次,即使壁纸的更改已完成一次.更奇怪的是,它在三星Galaxy平板电脑版本4.4.2上运行良好,但不适用于摩托罗拉(Moto E 4.4.4).
我的服务:
public class change_wallpepar extends Service {
@Override …
Run Code Online (Sandbox Code Playgroud) 我知道matrix
它的结构和工作有关图像视图的比例类型.但,
我找不到确切的含义ImageView.ScaleType="MATRIX"
.通过声明这一点,绘制图像视图时会发生什么.
我ImageView.ScaleType="MATRIX"
什么时候可以使用?
它与FIT_END
&有何不同FIT_START
我搜索了它并且还提到了官方链接,但未能找到确切的答案.
我目前正在使用Universal Image Loader 1.9.3并将其初始化为,
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder().displayer(new RoundedBitmapDisplayer(100)).cacheOnDisc().build();
ImageLoaderConfiguration.Builder builder = new ImageLoaderConfiguration.Builder(Register.this).defaultDisplayImageOptions(defaultOptions).memoryCache(new WeakMemoryCache());
ImageLoaderConfiguration config = builder.build();
imageLoader2 = ImageLoader.getInstance();
imageLoader2.init(config);
Run Code Online (Sandbox Code Playgroud)
在这里我使用了RoundedBitmapDisplayer,因为我希望图像为圆形,并且我已将xml文件中的图像视图属性设置为android:scaleType ="centerCrop",因此它必须将结果作为中心裁剪图像,但它不会给出中心裁剪图像..图像被拉伸甚至给中心作物....