안드로이드 개발 질문/답변
(글 수 45,052)
RelativeLayout practiceLayout = new RelativeLayout(this);
practiceLayout.addView((RelativeLayout)View.inflate(this, R.layout.practice, null));
practiceLayout.addView((RelativeLayout)View.inflate(this, R.layout.pause, null));//이 줄입니다.
puase는 반투명하게 화면을 꽉 채우려고 하는데요, fill_parent로 했는데도 화면이 꽉 차게 나오지 않네요.
내부에 있는 뷰 크기만큼만 나옵니다.
뭔가 방법이 없을까요?
세번째 인자에 뷰그룹을 지정하면 prarentView를 설정할 수 있는 것 같은데 잘 안되네요.
2010.09.15 11:00:32
저 소스상에서는 아무런 명시가 없는데요...
따로 소스상으로 setLayoutPrams 라도 하는 부분이 있나요?
practiceLayout에 대해서 말이죠...
따로 소스상으로 setLayoutPrams 라도 하는 부분이 있나요?
practiceLayout에 대해서 말이죠...
2010.09.15 13:22:45
소스에서 "fill_parent"로 하고 안의 이미지를 중앙으로 오게 하고 싶었어요.
따로 setLayoutParam같은 건 하지 않았네요.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/PauseLayout" android:layout_height="fill_parent" android:layout_width="fill_parent" android:background="#a0000000">
<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@drawable/paused_popup"></ImageView>
</RelativeLayout>
2010.09.15 13:33:55
practiceLayout = new RelativeLayout(this);
이건 새로 만든 RelativeLayout인데요...
practiceLayout에는 현재 아무런 layout 관련 값이 들어있지 않은 상태입니다.
여기에 하위뷰를 fill_parent로 추가하는게 제대로 결과값을 만들어내는지는 잘 모르겠군요.
RelativeLayout practiceLayout = new RelativeLayout(this);
practiceLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
이렇게 한 후에 view를 add 해보는게 어떠실지요...
이건 새로 만든 RelativeLayout인데요...
practiceLayout에는 현재 아무런 layout 관련 값이 들어있지 않은 상태입니다.
여기에 하위뷰를 fill_parent로 추가하는게 제대로 결과값을 만들어내는지는 잘 모르겠군요.
RelativeLayout practiceLayout = new RelativeLayout(this);
practiceLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
이렇게 한 후에 view를 add 해보는게 어떠실지요...
2010.09.15 15:17:36
이래도 저래도 되질 않네요;ㅋㅋ
addView 전후에 코드를 삽입해봤지만 그대로에요.
신기한 건, setLayoutParams를 하기 전에도 R.layout.practice는 전체화면으로 나온다는 겁니다.
practiceLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
practiceLayout.addView((RelativeLayout)View.inflate(this, R.layout.practice, null));
practiceLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
RelativeLayout pauseLayout = new RelativeLayout(this);
pauseLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
pauseLayout.addView((RelativeLayout)View.inflate(this, R.layout.pause, null));
pauseLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
practiceLayout.addView(pauseLayout);
practiceLayout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
2010.09.15 16:22:15
setLayoutParams를 하기 전에도 R.layout.practice는 전체화면으로 나온다는 겁니다. 라고 하셨는데
setContentView를 통해서 R.layout.practice를 넣어보신건가요?
이건 어차피 내부적으로 직접 fill_parent 넣어서 추가하는 것이기 때문에 의미 없구요
화면 꽉채우는거가 목표면.... activity나 뷰가 아닌 Window에다가 view를 추가하시면 꽉차게는 들어갈겁니다.
결국 다이얼로그 같은 넘들도 소스 열어보면 윈도우에다가 View를 추가하는거니까요....
setContentView를 통해서 R.layout.practice를 넣어보신건가요?
이건 어차피 내부적으로 직접 fill_parent 넣어서 추가하는 것이기 때문에 의미 없구요
화면 꽉채우는거가 목표면.... activity나 뷰가 아닌 Window에다가 view를 추가하시면 꽉차게는 들어갈겁니다.
결국 다이얼로그 같은 넘들도 소스 열어보면 윈도우에다가 View를 추가하는거니까요....




practiceLayout의 child로 add 하니까 당연히 fill_parent는 practiceLayout의 크기를 따라갑니다.