小编Che*_*wie的帖子

知道何时显示密码锁定

我正在开发一个应用程序,需要在用户离开应用程序并返回时显示密码屏幕(无论是通过屏幕锁定,还是通过后面或主页按钮返回主屏幕).我使用以下工作:

启动活动将在启动时调用密码检查,并且每个活动都将以下功能添加到其onPause方法中:

@Override
public void onPause() {
    super.onPause();

    if (!isFinishing()) {
    new PasscodeCheckTask(this.getApplicationContext(),this).execute();
    }
}
Run Code Online (Sandbox Code Playgroud)

PassocdeCheckTask如下所示.它会检查屏幕是否已关闭或应用程序是否不在后台

public class PasscodeCheckTask extends AsyncTask<Void, Void, Boolean> {

    public static final int CHECK_PASSCODE = 0;

    private Context mActivityApplicationContext;
    private Context mActivityContext;

    public PasscodeCheckTask(Context applicationContext, Context activityContext){
        mActivityApplicationContext = applicationContext;
        mActivityContext = activityContext;
    }

    @Override
    protected Boolean doInBackground(Void... params) {
        Boolean result = false;

        if (!((PowerManager)mActivityApplicationContext.getSystemService(android.content.Context.POWER_SERVICE)).isScreenOn() ||
            !isAppOnForeground(mActivityApplicationContext)) {
            result = true;
        }
        return result;
    }

    @Override
    protected void onPostExecute(Boolean result) {
        if (result) { …
Run Code Online (Sandbox Code Playgroud)

android locking

7
推荐指数
1
解决办法
1616
查看次数

重复的背景图像被拉伸

我有很难的背景纹理.我有一个60px乘60px位图纹理,我想在重复的图块模式中设置为我的布局的背景.这是位于res/layout中的布局xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/dark_texture_background" >

    ...
</RelativeLayout
Run Code Online (Sandbox Code Playgroud)

这里是dark_texture_background,位于res/drawable中:

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/dark_background_texture"
    android:tileMode="repeat" />
Run Code Online (Sandbox Code Playgroud)

dark_background_texture是60x60像素的图像.

因此,问题在于纹理图像在被平铺的同时被放大.我在纹理图像的外部添加了一条红线,以准确查看纹理图像的位置,结果如下:

平铺的背景

我还根据getResources().getDisplayMetrics()添加了屏幕高度,宽度和密度.

由于屏幕宽度为480像素,因此纹理图像应重复8次(480/60 = 8).相反,只有5~1/4.图像现在约为90像素并平铺.WTF?

当我明确告诉它重复时,为什么我的纹理图像会被拉伸?

android background repeat stretch tile

3
推荐指数
1
解决办法
2839
查看次数

标签 统计

android ×2

background ×1

locking ×1

repeat ×1

stretch ×1

tile ×1