ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 뷰 컨테이너
    안드로이드 스튜디오 2021. 12. 31. 01:22

    1) 슬라이딩드로어(SlidingDrawer)

    : 서랍 위젯으로 서랍처럼 열어 보여주거나 닫아서 감춤

    <SlidingDrawer
            android:id="@+id/slidingDrawer1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:content="@+id/content"
            android:handle="@+id/handle" >
    
            <Button
                android:id="@+id/handle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="과제 서랍 손잡이" />
    
            <LinearLayout
                android:id="@+id/content"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#00ff00"
                android:gravity="center"
                android:orientation="vertical">
    
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="서랍내부"
                    android:textSize="20dp" />
                <Button
                    android:id="@+id/btnNewActivity"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="SecondActivity"/>
    
                <Button
                    android:id="@+id/btnNewActivity3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="ThirdActivity"/>
    
            </LinearLayout>
        </SlidingDrawer>

    : AndroidManifest.xml에 새로운 액티비티 등록

     

    - 예제

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <Button
            android:id="@+id/btnSelf"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="15dp"
            android:text="자기소개" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/tv3"
            android:textColor="#FF0000"
            android:layout_marginLeft="20dp"
            android:visibility="gone"/>
    
        <Switch
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/switch1"
            android:layout_marginLeft="15dp"
            android:text="소개보이기" />
    
        <Button
            android:id="@+id/btnname"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:visibility="gone"
            android:layout_marginLeft="15dp"
            android:text="이름" />
    
        <Button
            android:id="@+id/btnmajor"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:visibility="gone"
            android:layout_marginLeft="15dp"
            android:text="전공" />
    
        <Button
            android:id="@+id/btnSite"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:visibility="gone"
            android:layout_marginLeft="15dp"
            android:text="즐겨찾는 사이트" />
    
        <TextView
            android:id="@+id/testTv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:visibility="gone"
            android:layout_marginLeft="15dp"
            android:text="서랍밖입니다" />
    
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/img"
            android:visibility="gone"
            android:layout_marginLeft="15dp"
            android:src="@drawable/bg1"/>
    
        <SlidingDrawer
            android:id="@+id/slidingDrawer1"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:content="@+id/content"
            android:handle="@+id/handle" >
    
            <Button
                android:id="@+id/handle"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="과제 서랍 손잡이" />
    
            <LinearLayout
                android:id="@+id/content"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#00ff00"
                android:gravity="center"
                android:orientation="vertical">
    
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="여기는 서랍 안입니다."
                    android:textSize="20dp" />
                <Button
                    android:id="@+id/btnNewActivity"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="자동차 클래스"/>
    
                <Button
                    android:id="@+id/btnNewActivity3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="간단한 계산기"/>
    
                <ImageView
                    android:id="@+id/img2"
                    android:layout_width="360dp"
                    android:layout_height="200dp"
                    android:src="@drawable/flow2" />
    
                <Button
                    android:id="@+id/btnNewActivity4"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="서랍 닫기" />
    
    
            </LinearLayout>
        </SlidingDrawer>
     @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            setTitle("메인 액티비티");
    
            Button btnNewActivity = (Button) findViewById(R.id.btnNewActivity);
            Button btnNewActivity3 = (Button) findViewById(R.id.btnNewActivity3);
            Button btnNewActivity4 = (Button) findViewById(R.id.btnNewActivity4);
            Button btnself = (Button) findViewById(R.id.btnSelf);
            Button btnname = (Button) findViewById(R.id.btnname);
            Button btnmajor = (Button) findViewById(R.id.btnmajor);
            Button btnsite = (Button) findViewById(R.id.btnSite);
            TextView testtv = (TextView) findViewById(R.id.testTv);
            TextView tv3 = (TextView) findViewById(R.id.tv3);
            Switch switch1 = (Switch) findViewById(R.id.switch1);
            ImageView img = (ImageView) findViewById(R.id.img);
    
            switch1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                    if(switch1.isChecked()==true){
                        tv3.setVisibility(View.GONE);
                        btnname.setVisibility(View.VISIBLE);
                        btnmajor.setVisibility(View.VISIBLE);
                        btnsite.setVisibility(View.VISIBLE);
                        testtv.setVisibility(View.VISIBLE);
                        img.setVisibility(View.VISIBLE);
                    }else {
                        btnname.setVisibility(View.GONE);
                        btnmajor.setVisibility(View.GONE);
                        btnsite.setVisibility(View.GONE);
                        testtv.setVisibility(View.GONE);
                        img.setVisibility(View.GONE);
                    }
                }
            });
    
            btnself.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
    
                    if(switch1.isChecked()!=true){
                        tv3.setVisibility(View.VISIBLE);
                        tv3.setText("정보를 보시려면 스위치를 켜시고,\n과제를 보려면 과제 서랍을 여세요.");
                    }
                }
            });
    
            btnNewActivity.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
    
                    Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
                    startActivity(intent);
                }
            });
    
            btnNewActivity3.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
    
                    Intent intent3 = new Intent(getApplicationContext(), ThirdActivity.class);
                    startActivity(intent3);
                }
            });
    
            btnNewActivity4.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    btnname.setVisibility(View.GONE);
                    btnmajor.setVisibility(View.GONE);
                    btnsite.setVisibility(View.GONE);
                    testtv.setVisibility(View.GONE);
    
                }
            });
        }

    댓글

Designed by Tistory.