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

윈도우 최 상위뷰 에 관한질문입니다

0 추천

코드

public class a10 extends Service {
    private TextView tv;//항상 보이게 할 뷰
    private ImageView iv;
 

    @Override
    public IBinder onBind(Intent arg0) { return null; }

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

        tv = new TextView(this);      //뷰 생성
        tv.setText("");
        tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
        tv.setTextColor(Color.BLUE);

        iv = new ImageView(this);
        iv.setImageResource(R.drawable.ic_library_music_black_24dp);



 

        //최상위 윈도우에 넣기 위한 설정
        WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,                //항상 최 상위에 있게
               
                PixelFormat.TRANSLUCENT);                                      //투명
        //PixelFormat.TRANSPARENT);

        WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);   //윈도우 매니저 불러옴.
        wm.addView(tv, params);     
        wm.addView(iv, params);
    }

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

        if(tv != null)   
        {
            ((WindowManager) getSystemService(WINDOW_SERVICE)).removeView(tv);
            tv = null;
        }
        if (iv !=null)
        {
            ((WindowManager)getSystemService(WINDOW_SERVICE)).removeView(iv);
            iv = null;
        }
    }
}

 

이미지뷰를  넣었는데요 이미지가 화면에 꽉차서 출력 되더라구요

질문1.이미지를 원본크기로 바꿀순없나요?

그리고

질문2.터치이벤트를 넣을려고 하는데요 초보라 좀 어렵네요..

 

자세히좀 설명 해주시면 감사하겠습니다 링크만 남겨놓고가면 좀..

 

익명사용자 님이 2016년 8월 6일 질문
2016년 8월 6일 태그 변경

1개의 답변

0 추천
iv.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
Development Guy (70,570 포인트) 님이 2016년 8월 8일 답변
...