[12-D2][UI 설계] EditText와 TableLayout

[01] AbsoluteLayout Layout
       - AbsoluteLayout: View가 x,y좌표에 의해서 배치, 레이아웃이 깨질 수 있고 화면의
        구성요소가 서로 잘 맞아 떨어저야함으로 잘 사용되지 않는다.
        안드로이드 SDK 1.5 R1부터 폐기 대상으로 분류되어 더이상 사용되지 않는다.

 

 


[02] TableLayout Layout

   - 행과 열의 격자를 이용해 View의 배치.
   - 아래의 레이아웃 특성을 조합하여 사용

     android:stretchColumns="1"             : 두번째 컴럼의 크기를 남는 공간으로 늘림(확장).
     android:stretchColumns=" 늘리려는 column 번호(0~), *"
     android:shrinkColumns=" 필요한 공간만 사용하고 줄이고자 하는 column 번호(0~), *"

     android:stretchColumns="1" android:shrinkColumns="*": 모든 컬럼의 값을 전부
     필요한 만큼만 사용하고 1번째 컬럼을 남은 공간으로 전부 확대

     android:collapseColumns=" 숨기고자 하는 column 번호(0~), *"

     android:layout_span=" 차지하려는 Column 수", 셀 합치기
     android:layout_span="2": 컬럼 2개를 합침.


 
 
     이름:[   ]의 경우 2번째 입력란을 확대함.
     android:layout_marginTop="60px"        : 뷰를 부모의 위쪽에서 일정 간격 떨어짐
     android:layout_alignParentTop="true"   : 뷰를 부모에서 상단에 배치
     android:layout_centerHorizontal="true" : 뷰를 부모에서 수평 중앙에 배치
     android:layout_alignParentRight="true" : 뷰를 부모에서 오른쪽에 배치
     android:layout_alignParentLeft="true"  : 뷰를 부모에서 왼쪽에 배치
     android:layout_centerVertical="true"   : 뷰를 부모에서 수직 중앙에 배치
     android:layout_centerInParent="true"   : 뷰를 수직, 수평의 중앙에 배치
     android:layout_alignParentBottom="true": 뷰를 부모에서 하단에 배치

 

 
 
 

 

[04] EditText와 TableLayout 실습

1. 프로젝트 생성
   - Project Type: Android Project
     Project name: TableLayoutTest_4
     Application name: TableLayoutTest_4
     Package name: test.TableLayoutTest
     Create Activity(Activity name): TableLayoutTest
     Min SDK Version: 4

 


2. 문자열 리소스 정의
>>>>> res/values/styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>

<style name="main">
    <item name="android:textSize">10pt</item>
</style>
<style name="standard" parent="main">
    <item name="android:textColor">#000000</item>
</style>
<style name="title" parent="main">
    <item name="android:textColor">#00FF00</item>
</style>

</resources>

 


2. 문자열 리소스 정의

>>>>> res/values/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">TableLayoutTest!</string>
    <string name="app_name">TableLayoutTest</string>
</resources>

 


3. View(콘트롤) 생성 및 배치

>>>>> res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:id="@+id/LinearLayout01"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:orientation="vertical"
    android:layout_height="fill_parent">
    <TableLayout
    android:id="@+id/TableLayout01"
    xmlns:android="http://schemas.android.com/apk/res/android
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:stretchColumns="*" android:gravity="center_vertical"
    android:padding = "50px">
    <TableRow
        android:id="@+id/TableRow00"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content">
        <TextView
            android:id="@+id/txv00"
            android:text="패스워드를  입력하세요."
            android:layout_span="3" android:gravity="center_horizontal"
            style="@style/title" />
    </TableRow>
    <TableRow
        android:id="@+id/TableRow01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <Button
            android:id="@+id/btn01"
            android:text="1" style="@style/standard" />
        <Button
            android:id="@+id/btn02"
            android:text="2" style="@style/standard" />
        <Button
            android:id="@+id/btn03"
            android:text="3" style="@style/standard" />
    </TableRow>
    <TableRow
        android:id="@+id/TableRow02"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content">
        <Button
            android:id="@+id/btn04"
            android:text="4" style="@style/standard" />
        <Button
            android:id="@+id/btn05"
            android:text="5" style="@style/standard" />
        <Button
            android:id="@+id/btn06"
            android:text="6" style="@style/standard" />
    </TableRow>
    <TableRow
        android:id="@+id/TableRow03"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content">
        <Button
            android:id="@+id/btn07"
            android:text="7" style="@style/standard" />
        <Button
            android:id="@+id/btn08"
            android:text="8" style="@style/standard" />
        <Button
            android:id="@+id/btn09"
            android:text="9" style="@style/standard" />
    </TableRow>
    <TableRow
        android:id="@+id/TableRow04"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content">
        <Button
            android:id="@+id/btn10"
            android:text="0"
            android:layout_column="0" style="@style/standard" />
        <Button
            android:id="@+id/btn11"
            android:text="*"
            android:layout_column="1" style="@style/standard" />
        <Button
            android:id="@+id/btn12"
            android:text="#"
            android:layout_column="2" style="@style/standard" />     
    </TableRow>
        </TableLayout>
       
    <LinearLayout android:id="@+id/LinearLayout02"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:paddingLeft ="0px" >
        <EditText
            android:id="@+id/edt00"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="PASS" android:editable="false"
            android:lines="1"
            android:text="@+id/edt00"
            style="@style/standard"
            android:password = "false" android:maxLength = "4"
            android:focusable = "false"/>
        <Button
            android:id="@+id/btnDel"
            android:text="DELETE"
            style="@style/standard"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />     
        <Button
            android:id="@+id/btn13"
            android:text="OK"
            style="@style/standard"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" /> 
    </LinearLayout>

</LinearLayout>

 


4. 이벤트 작성

>>>>> TableLayoutTest.java
package test.TableLayoutTest;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

import android.util.Log;

public class TableLayoutTest extends Activity implements OnClickListener{
  
 Button btn01;
 Button btn02;
 Button btn03;
 Button btn04;
 Button btn05;
 Button btn06;
 Button btn07;
 Button btn08;
 Button btn09;
 Button btn10;
 Button btn11;
 Button btn12;
    Button btnDel;
   
 EditText edt00;
 String str;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        btn01 = (Button)findViewById(R.id.btn01);
        btn01.setOnClickListener(this);        
        btn02 = (Button)findViewById(R.id.btn02);
        btn02.setOnClickListener(this);  
        btn03 = (Button)findViewById(R.id.btn03);
        btn03.setOnClickListener(this);  
        btn04 = (Button)findViewById(R.id.btn04);
        btn04.setOnClickListener(this);  
        btn05 = (Button)findViewById(R.id.btn05);
        btn05.setOnClickListener(this);          
        btn06 = (Button)findViewById(R.id.btn06);
        btn06.setOnClickListener(this);        
        btn07 = (Button)findViewById(R.id.btn07);
        btn07.setOnClickListener(this);  
        btn08 = (Button)findViewById(R.id.btn08);
        btn08.setOnClickListener(this);  
        btn09 = (Button)findViewById(R.id.btn09);
        btn09.setOnClickListener(this);  
        btn10 = (Button)findViewById(R.id.btn10);
        btn10.setOnClickListener(this);
        btn11 = (Button)findViewById(R.id.btn11);
        btn11.setOnClickListener(this);
        btn12 = (Button)findViewById(R.id.btn12);
        btn12.setOnClickListener(this);
        btnDel = (Button)findViewById(R.id.btnDel);
        btnDel.setOnClickListener(this);
       
        edt00 = (EditText)findViewById(R.id.edt00);
        str = "";
       
        edt00.setText("");
       
    }
   
    @Override
    public void onClick(View v) {
        String val = "";
        // TODO Auto-generated method stub
        if(v.getId() == R.id.btnDel){
            val = edt00.getText().toString();
            int len = val.length();
            if (len > 0){
                val = val.substring(0, len-1);
            }
            str = val;
        }else{
            Button btn = (Button)v;
            str = str + (String)btn.getText();
        }
        edt00.setText(str);

    }   
}

 


 

 
 

Posted by ▶파이팅◀

블로그 이미지
Let's start carefully from the beginning
▶파이팅◀

태그목록

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.3
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

최근에 올라온 글

최근에 달린 댓글

글 보관함