마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

앱위젯 투명도 조절 하는 방법

0 추천
안녕하세요.

 

앱위젯 개발중인 개발자 입니다.

 

현재 앱위젯 등록을 마쳤고, 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가 매우 정상적으로 동작을 합니다.

 

하지만 위젯 레이아웃은 저 시점에서 생성이 안된건지, 백그라운드 값을 가져오질 못하네요.

 

저기서 설정한 값을 위젯으로 넘겨서 바탕화면 이미지를 투명하게 하는 방법을 알고 싶습니다.
초량프라이드 (250 포인트) 님이 2015년 1월 12일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...