레이아웃 겹치기

 

카메라 어플을 쓰다보면 기능을 조작하는 부분과 화면이 보이는 2가지 레이아웃을 겹치게 되

데 이것을 한번 해봅시다.

 

 

main.xml

 

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

       android:orientation="vertical"

       android:layout_width="fill_parent"

       android:layout_height="fill_parent"

       >

<TextView

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:textSize="16sp"

       android:text="이것은 바닥에 있는 레이아웃입니다."

       />

<Button

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:text="바닥의 버튼"

       />

</LinearLayout>

 

over.xml

 

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:gravity="center"

    android:background="#40ffff00"

    >

<TextView

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:textSize="16sp"

       android:text="이것은 위쪽에 겹쳐진 레이아웃입니다."

       />

<Button

       android:layout_width="wrap_content"

       android:layout_height="wrap_content"

       android:text="위쪽의 버튼"

       />

</LinearLayout>

 

 

자바파일

 

package com.android.ex85;

 

import android.app.*;

import android.content.*;

import android.os.*;

import android.view.*;

import android.widget.*;

 

public class ex85 extends Activity {

       public void onCreate(Bundle savedInstanceState) {

             super.onCreate(savedInstanceState);

             Window win = getWindow();

             win.setContentView(R.layout.main);//첫번째에 메인을 깔고

 

             //그다음 인플레이션으로 겹치는 레이아웃을 깐다

             LayoutInflater inflater = (LayoutInflater)getSystemService(

                           Context.LAYOUT_INFLATER_SERVICE);

             LinearLayout linear = (LinearLayout)inflater.inflate(R.layout.overnull);

            

             LinearLayout.LayoutParams paramlinear = newLinearLayout.LayoutParams(

                           LinearLayout.LayoutParams.FILL_PARENT,

                           LinearLayout.LayoutParams.FILL_PARENT);

             win.addContentView(linear, paramlinear);// 부분이 레이아웃을겹치는 부분

             //add 기존의 레이아웃에 겹쳐서 배치하라는 뜻이다.

       }

}

 


출처 : http://blog.naver.com/baram918?Redirect=Log&logNo=120134113410


+ Recent posts