Android 如何动态更改图案锁定视图组可绘制图像?
目前我正在开发一个模式锁定应用程序,在该应用程序中,我从Android 如何动态更改图案锁定视图组可绘制图像?,android,android-view,Android,Android View,目前我正在开发一个模式锁定应用程序,在该应用程序中,我从视图组扩展了模式视图,这意味着它可以显示模式锁定视图,我使用可绘制的png图像来显示模式视图 因此,实际上,当用户在另一个GridView中选择该图像并将其显示在模式视图上时,我想动态更改该模式锁定png图像 基本上,我只想更改模式锁定主题。 这是我的模式锁视图xml <com.v1.sensoft.halloweenlock.utils.Lock9View android:id="@+id/lock_9_view"
视图组扩展了模式视图
,这意味着它可以显示模式锁定视图
,我使用可绘制的png图像来显示模式视图
因此,实际上,当用户在另一个GridView
中选择该图像并将其显示在模式视图上时,我想动态更改该模式锁定png图像
基本上,我只想更改模式锁定主题。
这是我的模式锁视图xml
<com.v1.sensoft.halloweenlock.utils.Lock9View
android:id="@+id/lock_9_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:nodeSrc="@mipmap/ppo"
app:nodeOnSrc="@mipmap/ppn"
android:layout_gravity="center"
app:lineColor="#FFCC00"
app:lineWidth="8dp" />
活动
prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
lock9View = (Lock9View) findViewById(R.id.lock_9_view);
lock9View.setCallBack(new Lock9View.CallBack() {
public int counter = 0;
public int buttCounter = 0;
@Override
public void onFinish(String password) {
PATTERN_KEY = prefs.getString("Pattern", "invalid");
Log.i("Counter","..."+counter);
if (PATTERN_KEY.equals("invalid")) {
Toast.makeText(MainActivity.this, "Options --> Create new Pattern", Toast.LENGTH_LONG).show();
} else {
if (password.equals(PATTERN_KEY)) {
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
} else {
invalidPattern();
Toast.makeText(MainActivity.this, "Please try again..." +failedCount, Toast.LENGTH_LONG).show();
}
}
}
});
}
因此,如果有人知道,请给出一些想法。嗨,vishal patel,请检查我的编辑-一切正常吗?是的,你知道我问题的答案吗?我不确定我是否理解这个问题:你是否只需要一种在自定义视图中设置位图的方法,还是你也在寻找一种让用户选择图片等的方法?实际上我有gridview,在gridview中我有一些图像。所以,当用户从gridview中选择特定图像并将当前图像替换为图案锁定视图上的gridview选定图像时。我可以发布图案锁定屏幕的主要布局以更好地理解吗?嗨,vishal patel,请检查我的编辑-一切正常?是的,你知道我问题的答案吗?我不确定我是否理解这个问题:你是否只需要一种在自定义视图中设置位图的方法,还是你也在寻找一种让用户选择图片等的方法?实际上我有gridview,在gridview中我有一些图像。所以,当用户从gridview中选择特定图像并将当前图像替换为图案锁定视图中的gridview选定图像时。我可以发布图案锁定屏幕的主要布局以更好地理解吗??
prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
lock9View = (Lock9View) findViewById(R.id.lock_9_view);
lock9View.setCallBack(new Lock9View.CallBack() {
public int counter = 0;
public int buttCounter = 0;
@Override
public void onFinish(String password) {
PATTERN_KEY = prefs.getString("Pattern", "invalid");
Log.i("Counter","..."+counter);
if (PATTERN_KEY.equals("invalid")) {
Toast.makeText(MainActivity.this, "Options --> Create new Pattern", Toast.LENGTH_LONG).show();
} else {
if (password.equals(PATTERN_KEY)) {
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
} else {
invalidPattern();
Toast.makeText(MainActivity.this, "Please try again..." +failedCount, Toast.LENGTH_LONG).show();
}
}
}
});
}