2013년 5월 29일 수요일

안드로이드 레이아웃 겹치기

혹시 저작권에 문제가 된다면 연락주시면 삭제하겠습니다.

레이아웃 겹치기

카메라 어플을 쓰다보면 기능을 조작하는 부분과 화면이 보이는 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 기존의 레이아웃에 겹쳐서 배치하라는 뜻이다.
       }
}




댓글 없음: