2013-02-07 1 views
0

은 내가 여러 활동 사이에 공유하고 싶습니다 버튼이있는 탐색 모음이 있습니다Android - 활동간에 UI 요소를 정적으로 유지하는 방법?

enter image description here 현재

, I (예를 들어, LOST.DIR 클릭) 전체 화면 변경 같은 활동을 시작할 때 탐색 모음을 포함하여 새 폴더 목록이 나타납니다.

내비게이션 막대를 정적으로 유지하고 싶습니다 (동일한 활동 유형간에 유지되고 새 활동을 시작한 후에 변경 또는 다시 표시되지 않도록).

이것이 가능합니까?

+0

안녕하세요? 그렇다면 완전성에 대한 답을 받아 들일 수 있습니다. 그게 너무 좋아! –

답변

7

하나의 활동과 fragments을 사용하려는 것처럼 들립니다.

하지만 실제로 여러 활동을 사용해야하는 경우. 또 다른 방법은 액션 바를 사용하는 것입니다 (actionbarsherlock). 그리고 다른 활동 사이에서 메뉴를 전환하십시오. 메뉴 드롭 다운은 작업 표시 줄의 아이콘 목록이거나 작업 표시 줄의 오른쪽 위에있는 드롭 다운 표시 줄 일 수 있습니다. 이 활동 표시 줄은 활동 전반에 걸쳐 정적이며 카테고리 (즉, 내비게이션 막대) 목록과 동일합니다.

1

아니요. 활동은 당신이 원하는 것과 정반대입니다 : 인터페이스의 독립적 인 부분입니다.

Fragments을 사용하거나 활동을 마스터 활동에 포함시킬 수 있습니다. 예를 들어 TabHost이이를 수행합니다.

+1

TabHost를 사용하지 마십시오. TabHosts는 정말 못생긴, 다루기 힘든 (특히 별도의 활동), 일반적으로 권고했다. –

0

총체적인 제어 방법 중 하나는 LinearLayout을 생성자 인수로 사용하고 가시성을 처리하고 (대리자를 통해) 디스패치 (click), 각 버튼의 이미지 등을 처리하는 사용자 정의 클래스를 작성하는 것입니다.

위와 원하는 기능을 모두 수행 할 수있는 방법을 추가하십시오.

layout.xml을 만들고 각 Activity 레이아웃에 배치하십시오.

각 Activity에서 버튼 막대 클래스를 인스턴스화하고 콘텐츠보기에서 findViewById로 얻은 레이아웃에 대한 참조를 전달합니다.

다른 사람들이 말했듯이 기존 솔루션이 있으며 "왜 새 바퀴를 발명해야할까요?"라고 물을 수 있습니다. 저는 많은 프로젝트에서 사용하는 클래스를 가지고 있습니다. 버전 1을 사용하는 데 많은 노력이 있었지만 지금은 완전히 제어하고 추가하고 수정하고 사용자 정의 할 수있는 클래스가 있습니다. 이 같은

뭔가 :

bar.setButtonClickHandler(Button.Favourites, favouritesButtonClickHandler); 
bar.setButtonVisibility(Button.Edit, View.INVISIBLE); 

내가있는 LinearLayout을 사용했습니다하지만 난 다른 뭔가를 사용할 필요가있는 경우에, 그것을 위해, 받아들이는 생성자를 오버로드 할 수있는 간단한 문제입니다 예를 들어, RelativeLayout 인수

관련 문제