내 앱에 내비게이션 막대가 있습니다. 모든 것은 모든 활동에서 navbar를 사용할 수있게하려는 것입니다. 나는 contentView를 두 번 설정해야한다고 생각합니다.하지만 그건 효과가 없습니다.2 레이아웃 1 활동 android
나는보고 있었지만 잘 작동하지 않습니다. 수퍼 클래스를 가지고 있는데, 수퍼 클래스에서이 두 번째 레이아웃을 설정할 수 있습니까?
내 앱에 내비게이션 막대가 있습니다. 모든 것은 모든 활동에서 navbar를 사용할 수있게하려는 것입니다. 나는 contentView를 두 번 설정해야한다고 생각합니다.하지만 그건 효과가 없습니다.2 레이아웃 1 활동 android
나는보고 있었지만 잘 작동하지 않습니다. 수퍼 클래스를 가지고 있는데, 수퍼 클래스에서이 두 번째 레이아웃을 설정할 수 있습니까?
다른 레이아웃의 <include>
태그를 통해 탐색 바를 포함해야합니다. Android가 콜백에 기본적으로 항상 사용자가 마지막으로 말한 것을 사용하므로 콘텐츠 레이아웃을 두 번 설정하는 것은 작동하지 않습니다. 따라서
setContentLayout(R.layout.nav);
setContentLayout(R.layout.main);
은 기본 레이아웃 만 사용하게됩니다.
포함 태그를 사용하는 예를 보여주는 this article을 살펴보십시오.
이 링크는 깨졌습니다 : 404 오류 !!! u는 다른 링크와 함께 ur 업데이트를 업데이트 할 수 있습니까? –
@Avadhani가 업데이트되었습니다. – mcveat
다른 활동을 사용하는 경우 표준 액티비티 (Activity, ListActivity 등)를 확장하여 nav_bar 포함을위한 기초로 사용할 수 있습니다. 예를 들어
:
이<LinearLayout
...
android:orientation="vertical"
>
<YourNavBarComponent
...
/>
<FrameLayout
android:id="@+id/nav_content"
...
>
// Leave this empty for activity content
</FrameLayout>
</LinearLayout>
같은 nabar와 레이아웃을 정의 이것은 nav_content 프레임에 다른 레이아웃을 포함하여 기본 레이아웃 될 것입니다. 당신이 탐색 모음을 필요로 새로운 활동을 만들 때, 단지 대신 NavActivity을 확장, 지금
public abstract class NavActivity extends Activity {
protected LinearLayout fullLayout;
protected FrameLayout navContent;
@Override
public void setContentView(final int layoutResID) {
fullLayout= (LinearLayout) getLayoutInflater().inflate(R.layout.nav_layout, null); // Your base layout here
navContent= (FrameLayout) fullLayout.findViewById(R.id.nav_content);
getLayoutInflater().inflate(layoutResID, navContent, true); // Setting the content of layout your provided in the nav_content frame
setContentView(fullLayout);
// here you can get your navigation buttons and define how they should behave and what must they do, so you won't be needing to repeat it in every activity class
}
}
을 그리고 : 다음에 기본 활동 클래스를 생성하고 다음을 수행합니다. 그리고 네비게이션 바는 필요할 때마다 레이아웃에 반복해서 반복하지 않고 레이아웃을 오염시키지 않고 (모든 활동 클래스에서 네비게이션을 제어하는 코드 반복은 말할 필요도 없음) 배치됩니다.
모든 레이아웃에서 동일한 레이아웃을 작성해야한다는 것을 의미합니까, 아니면 태그를 사용해야합니까? –
madcoderz
탐색 표시 줄을 포함하려면 include 태그를 사용하십시오. 더 명확하게 답변을 업데이트합니다. –