2011-01-20 5 views
0

테이블 행에 동적으로 버튼을 추가하려하지만 화면 방향에 따라 버튼의 스타일을 변경해야합니다. 다음 "game_answer_button.xml"레이아웃 파일은 "layout"및 "layout-land"폴더에 있습니다.가로 방향 리소스가 LayoutInflater를 통해 선택되지 않았습니다.

고해상도/레이아웃 :

<?xml version="1.0" encoding="utf-8"?> 
<Button xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    /> 

고해상도/레이아웃 - 토지 : 다음과 같이 버튼 레이아웃이 내 활동에 팽창되고

<?xml version="1.0" encoding="utf-8"?> 
<Button xmlns:android="http://schemas.android.com/apk/res/android" 
    style="@android:style/Widget.Button.Small" 
    /> 

:

LayoutInflater inflater = getLayoutInflater(); 
Button button = (Button)inflater.inflate(R.layout.game_answer_button, null); 
button.setText(image.getDescription()); 

그러나 기본 (세로) 레이아웃이 매번 선택됩니다. 기본 레이아웃의 내용이 가로 레이아웃으로 바뀌면 가로 레이아웃이 최종적으로 렌더링됩니다. LayoutInflater를 통해 가로 레이아웃 리소스를 올바르게 선택하지 않는 것 같습니다.

이것에 대한 아이디어가 있습니까?

답변

0

문제점을 발견했습니다. 동적 인 버튼을 ArrayList에로드하고 각각의 구성 변경시 상위 뷰에 버튼을 추가하기 만했습니다. 즉, 버튼 객체를 "캐시"에서 당길 때 이미 버튼 스타일이 부풀려 졌을 것입니다. 그냥 다른 데브 "doh!" 순간.

0

매니페스트에서 버튼이 사용되는 활동 구성이 세로로 설정되어 있는지 확인 했습니까?

+0

네, 매니 페스트에서 액티비티에 특정 방향 속성이 설정되지 않았 음을 확인했습니다. –

관련 문제