마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

어느 activity이든 항상 Slidingdrawer 보이기 질문입니다.

0 추천

안녕하세요!

며칠전, main_activity에서의 slidingdrawer는 성공했습니다.

이번 질문은 어느 activity이든, 항상 Slidingdrawer핸들러가 보여서,

클릭하면, 똑같은 slidingdrawer가 열리는 방법을 질문드립니다.

 

MainActivity.java

public class MainActivity extends DrawerActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
   }
}
activity_drawer.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<FrameLayout
    android:id="@+id/drawer_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<YourDrawer
    android:id="@+id/drawer_drawer"
    android:layout_width="match_parent"
    android:layout_height="fill_parent" >
</YourDrawer>

</RelativeLayout>
DrawerActivity.java

public class DrawerActivity extends Activity {

protected RelativeLayout fullLayout;
protected FrameLayout frameLayout;

@Override
public void setContentView(int layoutResID) {

    fullLayout = (RelativeLayout) getLayoutInflater().inflate(R.layout.activity_drawer, null);
    frameLayout = (FrameLayout) fullLayout.findViewById(R.id.drawer_frame);

    getLayoutInflater().inflate(layoutResID, frameLayout, true);

    super.setContentView(fullLayout);

}
}

 

초보개발자학생 님이 2015년 7월 23일 질문

1개의 답변

0 추천

MainActivity를 BaseActivity로 바꾸고, 다음부터 만드는 Activity는 BaseActivity를 상속하세요.

BaseActivity의 레이아웃 파일에는 container라는 FrameLayout 같은 레이아웃을 만드세요.

 

public class BaseActivity extends Activity
{
  private ViewGroup container;

  public void onCreate()
  {
    container = (ViewGroup) findViewById(R.id.container);
  }

  protected void putContentView(int resId)
  {
    View view = getLayoutInflater().inflate(resId, null);
    container.addView(view);
  }
}
public class SecondActivity extends BaseActivity
{
  public void OnCreate()
  {
    super.onCreate();
    putContentView(R.layout.activity_second);
  }
}

그 다음부터는 이런 식으로 하면 됩니다.

쎄미 (162,410 포인트) 님이 2015년 7월 23일 답변
...