2009-07-17 2 views
2

가로 모드에서 세로 모드로 변경할 때 내 SlidingDrawer에서 방향을 설정하는 방법을 찾을 수 없습니다.코드로 안드로이드 SlidingDrawer의 방향을 바꾸는 방법?

처음에는 xml로 방향을 수직으로 설정했습니다. 휴대 전화가 가로 모드 일 때 가로 방향으로 변경해야하므로 왼쪽에 핸들이 표시됩니다.

아무 아이디어 나 있습니까?

답변

2

표준 SlidingDrawer으로는 가능하지 않습니다. 이 기능을 구현하는 자체 서랍 (아마도 SlidingDrawer의 하위 클래스)을 구현할 수 있습니다.

SlidingDrawer은 대부분 표준 Android 홈 화면의 응용 프로그램 서랍에 필요한 것으로 제한됩니다. 서랍은 항상 화면의 동일한 물리적 측면에 고정되어 있습니다 (세로 인 경우 하단, 가로 인 경우 오른쪽).

+0

xml을 가로 방향에서 세로 방향으로 바꿀 수 있기 때문에 코드로도 동일한 방식으로 수행 할 수 있다고 생각했습니다. 그냥 그 어떤 요소가이 setOrientation을 보유하고 있는지 알지 못합니다. Eighter SlidingDrawer 및 Drawer의 LayoutParams에는 방향 지정 방법 또는 속성이 있습니다 (LinearLayout과 다름) ... 여전히 코드로 작업 할 방법을 찾고 싶습니다 ... –

+0

이 문제에 대한 대안을 찾을 수없는 경우, main.xml 레이아웃에 2 개의 SlidingDrawers int를 만들면, 세로 방향과 가로 방향 중 하나가되도록 항상 작동하도록 만들 수 있습니다. 각 SlidingDrawer에 고유 한 이름이 있으면 하나를 숨기고 다른 하나를 표시하여 응용 프로그램을 시작할 수 있습니다. 장치가 방향을 바꿀 때. 나는 첫 번째 것을 숨기고 두 번째에 가시성 = true를 설정합니다 ... 네, 그 못 생겼지 만 작동 할 것입니다. 한 가지 단점은 그 리스너와 함께 콘텐츠 레이아웃을 구현해야한다는 것입니다 ... –

0

하나의 main.xml을 가로 모드 (레이아웃 랜드) 레이아웃에 배치하고 다른 하나를 세로 모드 (레이아웃 포트) 레이아웃에 배치하는 것만 큼 간단하지 않습니다. 또는 나는 무엇인가 놓치고 있냐?

+0

안녕하세요, 응답 주셔서 감사합니다. 그때 나는 코드로 작업해야했습니다. 그러나 레이아웃 파일로 방향을 설정하는 것이 바람직한 솔루션이라는 데 동의합니다. –

관련 문제