본문 바로가기

Android - TextView , EditView, AutoCompelteTextView ...

카테고리 없음 by 낼스 2019. 7. 16.

# 뷰, 위젯, 레이아웃
    - 안드로이드 뷰 : android.view 패키지
                      android.view.View 클래스
        이 View 클래스는 안드로이드 UI의 기본적인 구축 요소에 해당한다.

    - 안드로이드 위젯 : android.widget, android.appwidget
                        ImageView,FrameLayout,EditText, Button..

    - 안드로이드 레이아웃 : 뷰의 일종이지만 스스로 무언가를 그리지 않는다.
                            LinearLayout : 수평,수직 줄을 표현
                            AbsoluteLayout : 위젯의 구체적인 위치를 개발자가 지정d

# 사용자에게 텍스트를 표시하는 TextView
   화면에 고정된 텍스트 문자열 또는 이름표를 표시함
   TextView 위젯은 다른 화면 요소와 함께 쓰이는 경우가 많다.
   TextView 위젯에서 좀더 특화된 텍스트 표시 위젯을 파생하기도 한다.
   다른 위젯들과 마찬가지로, TextView 자체는 View 의 파생클래스이며
   android.widget패키지 안에 들어있다.

   TextView는 View의 일종이므로 Viewe가제공하는 표준속성들(너비, 높이, 여백, 가시성 등등)을 지원한다.
   물론 TextView 자신만의 속성들도 제공한다.
    - setText()
    - getText()

# 레이아웃 크기 설정
            android:id="@+id/TextView04"
        andorid:layout_width="wrap_content"
        andorid:layout_height="wrap_content"
        android:lines="2"
        android:ems="12"
        android:text="@string/autolink_test" />

    - autoLink
        ● web : 텍스트 안의 URL을 링크로 만든다. 클릭하면 웹 브라우저가 떠서 해당 페이지가 표시된다.
        ● email : 텍스트 안의 이메일 주소를 링크로 만듬, 메일 클라이언트가 뜬다.
        ● phone : 텍스트 안의 전화번호를 링크로 만듬, 클릭하면 전화 걸기 응용프로그램이 뜬다.
        ● map : 텍스타안의 지리적 주소를 링크로 만든다. 클릭하면 Google 지도 응용프로그램이 뜬다.

                    android:id="@+id/TextView04"
            andorid:layout_width="wrap_content"
            andorid:layout_height="wrap_content"
            android:lines="2"
            android:ems="12"
            android:text="@string/autolink_test"
            android:autoLink="web|email"
            />
        한특성에 |를 이용해서 두가지 값을 지정함 --> all/none 사용가능
        linksClickable : false 하면 링크 클릭이 먹지 않게됨

# EditText와 Spinner를 이용한 사용자 입력
            android:id="@+id/EditText01"
        android:layout_height="wrap_content"
        android:hint="type here"
        android:lines="4"
        android:layout_width="fill_parent" />

    http://www.androidpub.com/keyboard : 한글 입력기

    setSelection()
    selectAll()
    getText()
    setText()

# 자동 완성기능
    auto-complete : AutoCompleteTextView
                    MultiAutoCompleteTextView

   final String[] COLORS = {"red","green","orange","blue","purple", "black","yellow","cyan","mageta" };
   ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_dropdown_item_1line,COLORS);
   AutoCompleteTextView text = (AutoCompleteTextView) findViewById(R.id.AutoCompleteTextView01);
   text.setAdapter(adapter);

    사용자가가 입력 상자에서 한 글자를 입력했을 때, 그 글자가 COLORS배열에 있는 색상 이름의 첫글자와 일치하면 해당 색상 이름이 사용자에게 제시된다.

            android:id="@+id/AutoCompleteTextView01"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        andorid:completionHint="Pick acolor or type your own"
        android:completionThreshold="1" />

        - completionThreshold : 자동완성 드롭다운이 언제 표시될 것인지 결정
        - completionHint : 드롬다운 목록 아래 표시될 도움말

    - MultiAutoCompleteTextView의 사용법은 AutoCompleteTextView와 같되 여러 항목을 구분하기 위한 Tokenizer객체를 지정해야 한다는 점이 다르다.
    MultiAutoCompleteTextView mtext = (MultiAutoCompleteTextView) findViewById(R.id.MultiAutoCompleteTextView01);
    mtext.setAdapter(adapter);
    mtext.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

# 입력 필터를 이용한 사용자 입력 제한
    InputFilter ( android.text.InputFilter )

    final EditText text_filtered = (EditText) findViewById(R.id.input_filtered);
    text_filtered.setFilters(new InputFilter[] {
        new InputFilter.AllCaps(),
        new InputFilter.LengthFilter(2)
    });

# Spinner 위젯을 이용한 제한적인 텍스트 선택
            android:id="@+id/Spinner01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:entries="@array/colors"
        android:prompt="@string/spin_prompt" />

    final Spinner spin = (Spinner) findViewByIDd(R.id.Spinner01);
    TextView text_sel = (TextView)spin.getSelectedView();
    String selected_text = text_sel.getText();

댓글