안녕하세요.
앱위젯 개발중인 개발자 입니다.
현재 앱위젯 등록을 마쳤고, configure 용 액티비티를 포함하고 있습니다.
제가 하고 싶은건 액티비티에서 seekbar를 이용하여, 0~255까지의 값을 지정하면, 그 값에 따라 실시간으로 앱위젯의 바탕화면 이미지 투명도가 변경되었으면 합니다.
테스트 용도도 seekbar가 등록되어있는 config 액티비티는 정상적으로 투명도가 조절이 되고 있습니다.
코드
===============================================================================
mScreen = (LinearLayout) findViewById(com.example.pa.R.id.h_calendar_layout); // 위젯 리니어레이아웃
OpntionScreen = (LinearLayout) findViewById(com.example.pa.R.id.OptionLayout); // 옵션 액티비티 레이아웃
private SeekBar.OnSeekBarChangeListener seekBarChangeListener = new SeekBar.OnSeekBarChangeListener()
{
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
Log.d(TAG, "======================= onProgressChanged =======================");
updateBackground();
}
public void onStartTrackingTouch(SeekBar seekBar)
{
}
public void onStopTrackingTouch(SeekBar seekBar)
{
}
};
private void updateBackground() {
Log.d(TAG, "======================= updateBackground =======================");
final Context context = WidgetOption.this;
SharedPreferences pref = context.getSharedPreferences(SeekValue, Activity.MODE_PRIVATE);
sbValue = pref.getInt(String.valueOf(sbValue), 0);
Editor e = pref.edit();
sbValue = sb.getProgress(); // Á¤¼ö°ª º¯°æ
e.putInt(SeekValue, sbValue); // °ªÀ» ÀúÀåÇÔ
e.commit(); // ±â·Ï ½Ã۱â
Log.d(TAG,String.valueOf(sbValue));
Drawable d1 = OpntionScreen.getBackground();
Log.d(TAG,"2");
//d.setAlpha(sbValue/* + sbValue * 0x10000*/);
d1.setAlpha(sbValue/* + sbValue * 0x10000*/);
//OpntionScreen.setAlpha(sbValue);
Log.d(TAG,"3");
}
=============================================================
이런식으로 말이죠.
저기서 optionscreen이라는 클래스가 현재 config activity 클래스이고,
해당 액티비티의 백그라운드 값을 drawable 변수에 저장하면 setalpha가 매우 정상적으로 동작을 합니다.
하지만 위젯 레이아웃은 저 시점에서 생성이 안된건지, 백그라운드 값을 가져오질 못하네요.
저기서 설정한 값을 위젯으로 넘겨서 바탕화면 이미지를 투명하게 하는 방법을 알고 싶습니다.