2012-10-18 4 views
0

레이아웃 파일과 xml 파일을 병합하고 싶습니다. 하지만 내 문제는 어떻게 동적으로 처리 할 수 ​​있느냐입니다.Android - 레이아웃에 동적 xml 추가

내 앱 아이콘, 활동 이름 및 버튼의 선형 레이아웃 공간이 포함 된 일반적인 툴바 파일이 있음을 의미합니다. 이 툴바를 각 액티비티에 병합하여 모든 액티비티가 자신의 버튼을 툴바의 선형 레이아웃에 넣을 수 있도록하고 싶습니다.

나는 이것을 시도했다. 폴더에 toolbar.xml이라는 툴바 파일을 작성했다. 그리고 각 액티비티에는 toobar가 포함되어 있습니다 : <include layout="@layout/toolbar.xml" />,하지만 버튼을 삽입하는 방법을 모르겠습니다.

활동의 XML로만 수행 할 수 있습니까?

답변

0

코드에서 버튼을 추가하려면 (버튼을 삽입하려는 컨테이너와 같아야 함) 버튼을 삽입해야합니다.

<LinearLayout> 
    ... 
    android:id="@+id/button_container"` 
</LinearLayout> 

는 그들, 당신의 코드에서 다른 객체로 버튼을 만들 :

Button myButton = new Button(mContext); 

것은 다음 버튼을 찾을 수 있습니다 당신은 즉, 레이아웃 가지고 ID를 확인 (레이아웃 XML 파일에 <LinearLayout>을 추가 할 수 있습니다 용기 :

LinearLayout buttonContainer = findViewById(R.id.button_container); 

과에 버튼을 추가 :

buttonContainer.addView(myButton); 

자세히 알아보기 ViewGroup documentation

+0

xml로만 수행 할 수 있습니까? 자바 코드를 사용하지 않고 말입니다. – nrofis

+0

당신이 정말로 필요로하는 것 (당신의 질문이 내게 완전하지 않다는 것 - "버튼 공간"은 어떤 버튼이 있을지 모르기 때문에 코드로 만들 필요가 있음). XML 파일을 수정할 수 없으므로 동적으로 생성 된 단추 세트가 필요하다면 "아니오"를 선택하십시오. 또한 ''은 조건부 일 수 없으므로 다시 '아니요'로 표시됩니다. 그러나 어떤 버튼이 있는지 알면 각 조합마다 별도의 레이아웃 파일 **을 만들 수 있습니다. 이런 경우에는 코드에서 그렇게하는 것이 더 좋습니다. –

+0

나는 각 활동에 const 버튼이 있음을 의미했습니다. 즉 주요 활동에 연락처 및 설정 버튼 추가, 연락처 활동에 변경 사항 수락 또는 취소 버튼이 있습니다. 각 활동에는 const 단추가 있으며 활동에 따라 다릅니다. – nrofis

관련 문제