버튼을 누르면 키보드가 숨겨지는 예제.

웹 & 안드로이드/Android|2013. 10. 18. 09:29

- 토큰 : 여러개의 데이터를 구분 짓기위한 기호. ','(쉼표), '-', '_' 등등이 될 수 있다.



- 키보드를 사라지게 하는 코드.

1
2
3
4
5
6
//InputMethodManager에 키보드와 관련된 시스템서비스를 불러온다.
InputMethodManager im = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
//소프트 키보드를 숨김.
im.hideSoftInputFromWindow(
                        getCurrentFocus().getWindowToken(),     
                        InputMethodManager.HIDE_NOT_ALWAYS);


댓글()

웹 뷰 (Web View)

웹 & 안드로이드/Android|2013. 10. 18. 09:15

웹 뷰 : 안드로이드 앱 상에서 웹 페이지를 볼 수 있도록 하는 뷰.


웹 클라이언트 : 웹 뷰에게 웹 페이지를 공급해주는 것. 웹 뷰는 웹 클라이언트로부터 페이지를 공급받아 뷰 화면에 보여준다.


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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
 
public class MainActivity extends Activity {
    EditText et;
    Button b;
    WebView wv;
    InputMethodManager imm;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        b = (Button) findViewById(R.id.button1);
        et = (EditText) findViewById(R.id.editText1);
        wv = (WebView) findViewById(R.id.webView1);
        
        imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
        
        wv.setWebViewClient(new MyWebViewclient());
        WebSettings ws = wv.getSettings();
        ws.setJavaScriptEnabled(true);
        ws.setBuiltInZoomControls(true);
        
        wv.loadUrl("http://www.naver.com/");
        
        b.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                wv.loadUrl(et.getText().toString());
                imm.hideSoftInputFromWindow(
                        getCurrentFocus().getWindowToken(),     
                        InputMethodManager.HIDE_NOT_ALWAYS);
                
            }
        });
        
    }
        
    class MyWebViewclient extends WebViewClient{
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return super.shouldOverrideUrlLoading(view, url);
        }
    }
}
 


댓글()

View - EditText와 inputType속성의 종류(EditText 종류)

웹 & 안드로이드/Android|2013. 10. 8. 14:52

EditText

-텍스트를 입력, 수정 할 수 있는 텍스트뷰.


1
2
3
4
5
6
<EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="none"
            android:text="none" />



-android:inputType 속성 값 종류


 속성 값

EditText에 입력 가능한 값 

설명 

 none

 모든 문자, 모든 기호 ,숫자

 다른 톡징이 없는 기본 EditText. 입력 폼안에 줄 바꿈이 가능하다.

 text

 none과 같으나 줄바꿈이 불가능.

 textCapCharacters

 모든 입력된 영문이 대문자로 입력이 된다.

 textCapWords

 단어의 첫번째 영문이 대문자로 입력된다.

 textCapSentences

 문장의 첫번째 영문이 대문자로 입력.

 textAutoCorrect

 입력된 단어를 올바른 단어로 수정할 수 있다.

 textAutoComplete

 단어를 입력중에 완성된 단어를 표시 할 수 있다. 

 textMultiLine

 입력 폼에 줄 바꿈이 가능하나 따로 설정하지 않으면 단일 줄의 텍스트로 제한됨.

 textImeMultiLine

 여러줄의 텍스트 입력가능. 키보드에 줄바꿈 키가 표시됨.

 textNoSuggestions

 입력할때 사전에 등록되어있는 어떤 단어도 표시하지 않는다.

 textUri

 URI를 입력.

 textEmailAddress

 이메일 주소를 입력.

 textEmailSubject

 이메일의 제목을 입력.

 textShortMessage

 짧은 메시지를 입력.

 textLongMessage

 긴 메시지를 입력.

 textPersonName

 사람 이름을 입력.

 textPostalAddress

 주소의 우편번호를 입력.

 textPassword

 비밀번호를 입력. 입력된 문자는 (*)로 표시.

 textVisiblePassword

 비밀번호를 입력. 입력된 문자가 보인다.

 textWebEditText

 텍스트를 입력. 웹 양식으로 제공된다.

 textFilter

 다른 텍스트를 필터링 하기 위한 문자를 입력.

 textPhonetic

 발음되는 발음문자를 입력.

 textWebEmailAddress

 이메일 주소를 입력. 웹 양식으로 제공.

 textWebPassword

 비밀번호를 입력. 웹 양식으로 제공.

 number

 숫자

 숫자를 입력 받는다.

 numberSigned

 숫자

 부호가 있는 숫자를 입력.

 numberDecimal

 .(점) 기호, 숫자

 소숫점이 있는 소수를 입력 받는다.

 numberPassword

 숫자

 숫자로 된 패스워드를 입력.

 phone

 - 기호, 숫자

 전화번호를 입력 받는다.

 datetime

 -, : 기호, 숫자

 날짜와 시간을 입력. 날짜는 -, 시간은 :로 구분.

 date

 - 기호, 숫자

 날짜를 입력.

 time

 : 기호, 숫자 

 시간을 입력.


댓글()

View - ProgressBar, SeekBar, RatingBar

웹 & 안드로이드/Android|2013. 10. 8. 10:15


1.ProgressBar



-예제 화면




프로그래스 바

- 프로그램이 어떠한 일을 진행할 때의 진행도, 혹은 로딩중 일 때를 나타내는 것.


 

-원모양으로 빙글빙글 돌며 로딩중이라는 것을 나타내는 프로그래스 바.

       다음은 다양한 크기의 프로그래스 바를 나타낸다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 <ProgressBar
        android:id="@+id/progressBar1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal" />
    
    <ProgressBar
        android:id="@+id/progressBar2"
        style="?android:attr/progressBarStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal" />
 
    <ProgressBar
        android:id="@+id/progressBar3"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:visibility="invisible" />



-예제

-버튼1을 클릭하면 원모양 프로그래스 바가 보이고 버튼2를 클릭하면 다시 사라짐.

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
public class MainActivity extends Activity {
    ProgressBar progressBar1;
    
    Button button1;
    Button button2;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        progressBar1 = (ProgressBar) findViewById(R.id.progressBar3);
 
        
        button1 = (Button) findViewById(R.id.button1);
        button2 = (Button) findViewById(R.id.button2);
 
        button1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                progressBar1.setVisibility(View.VISIBLE);
            }
        });
        
        button2.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                progressBar1.setVisibility(View.INVISIBLE);
            }
        });
    }
}






- 진행도를 나타내는 프로그래스 바.

  무언가를 다운받거나 하는 진행등을 나타낼때 사용.


1
2
3
4
5
6
7
8
<ProgressBar
        android:id="@+id/progressBar4"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:max="100"
        android:progress="0" />



-둘다 가질 수 있는 속성은 같지만 스타일에 따라서 진행도를 보여주는 것을 정할 수 있다.


-예제

-버튼3을 누르면 진행도가 증가하고, 버튼4를 누르면 진행도가 감소.

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
public class MainActivity extends Activity {
    ProgressBar progressBar2;
    
    Button button3;
    Button button4;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        progressBar2 = (ProgressBar) findViewById(R.id.progressBar4);
        
        button3 = (Button) findViewById(R.id.button3);
        button4 = (Button) findViewById(R.id.button4);
        
        button3.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                progressBar2.incrementProgressBy(5);
            }
        });
        
        button4.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                progressBar2.incrementProgressBy(-5);
            }
        });
    }
}




2.SeekBar



 - 예제 화면



 SeekBar

- 볼륨이나 색상지정 등 사용자가 드래그 할 수 있는 바.


-seekBar

1
2
3
4
5
6
<SeekBar
        android:id="@+id/redBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:progress="0"
        android:max="255" />



-예제

-seekbar에 색상을 지정하고 텍스트뷰의 색상이 변하도록 함.

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
public class MainActivity extends Activity {
    SeekBar redBar;
    SeekBar greenBar;
    SeekBar blueBar;
    TextView redView;
    TextView greenView;
    TextView blueView;
    int red;
    int green;
    int blue;
    TextView resultView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        redBar = (SeekBar) findViewById(R.id.redBar);
        greenBar = (SeekBar) findViewById(R.id.greenBar);
        blueBar = (SeekBar) findViewById(R.id.blueBar);
        
        redView = (TextView) findViewById(R.id.redView);
        greenView = (TextView) findViewById(R.id.greenView);
        blueView = (TextView) findViewById(R.id.blueView);
        
        resultView = (TextView) findViewById(R.id.resultView);
        
        redBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {}
            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {}
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                red = redBar.getProgress();
                redView.setText("red - "+red);
                resultView.setBackgroundColor(Color.rgb(red, green, blue));
            }
        });
        greenBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {}
            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {}
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                green = greenBar.getProgress();
                greenView.setText("green - "+green);
                resultView.setBackgroundColor(Color.rgb(red, green, blue));
            }
        });
        blueBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {}
            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {}
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                blue = blueBar.getProgress();
                blueView.setText("blue - "+blue);
                resultView.setBackgroundColor(Color.rgb(red, green, blue));
            }
        });
    }



3. RatingBar


-예제 화면 



-점수등을 별로 표시하여 나타내는 뷰.


Colored By Color Scripter

1
2
3
4
5
6
 <RatingBar
        android:id="@+id/ratingBar1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numStars="10"
        style="?android:attr/ratingBarStyleSmall" />



-예제 코드.


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
public class MainActivity extends Activity {
    RatingBar ratingBar;
    EditText total;
    EditText answer;
    Button button;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        ratingBar = (RatingBar) findViewById(R.id.ratingBar1);
        total = (EditText) findViewById(R.id.editText1);
        answer = (EditText) findViewById(R.id.editText2);
        button = (Button) findViewById(R.id.button1);
        
        button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                int t = Integer.parseInt(total.getText().toString());
                int an = Integer.parseInt(answer.getText().toString());
                float score = (float)an/t*ratingBar.getNumStars();
                ratingBar.setRating(score);
            }
        });
    }
 


댓글()

안드로이드 - 진동 제어하기

웹 & 안드로이드/Android|2013. 10. 7. 12:41

-우선적으로 진동을 제어 할 수 있는 앱을 만들기 위해서는 퍼미션(권한) 부여가 필요하다.




-직접 코드를 입력하는 방법.

1
2
3
4
5
<manifest>
    
    <uses-permission android:name="android.permission.VIBRATE"/>
 
</manifest>

     -manifest 설정파일에 해당 코드를 입력하면 권한 설정이 된다.




- 진동하기 위해서는 진동을 제어하는 객체를 생성해야 한다.


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
public class MainActivity extends Activity {
    ImageButton button3;
    ImageButton button4;
    
    Vibrator vib;    
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);        
       button3 = (ImageButton) findViewById(R.id.imageButton3);
        button4 = (ImageButton) findViewById(R.id.imageButton4);
 
        vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
 
        button3.setOnClickListener(new OnClickListener() {            
            @Override
            public void onClick(View v) {
                vib.vibrate(300);
            }
        });
        button4.setOnClickListener(new OnClickListener() {            
            @Override
            public void onClick(View v) {
                vib.vibrate(new long[]{100, 300, 100, 500}, -1);
            }
        });
    }
}


-한번 진동 하게 할 수 있지만 Long[]을 통해 패턴을 줄 수도 있다. 또한 무한으로 패턴을 반복하는것도 가능하다.


vib.vibrate(진동하는 시간(밀리 세컨드));

vib.vibrate(진동 패턴, 반복 여부(0이면 한번, -1이면 무한 반복));

댓글()

안드로이드 - 사운드 재생하기.

웹 & 안드로이드/Android|2013. 10. 7. 12:32



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
public class MainActivity extends Activity {
     ImageButton button1;
     ImageButton button2;
     SoundPool soundPool;
     int soundDdok;
     AudioManager aMa;
   @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);        
        button1 = (ImageButton) findViewById(R.id.imageButton1);
        button2 = (ImageButton) findViewById(R.id.imageButton2);
        
        soundPool = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
        soundDdok = soundPool.load(getApplicationContext(), R.raw.ding, 1);
        aMa = (AudioManager) getSystemService(AUDIO_SERVICE);
        
        button1.setOnClickListener(new OnClickListener() {            
            @Override
            public void onClick(View v) {
                soundPool.play(soundDdok, 1, 1, 0, -1, 1);
            }
        });
        button2.setOnClickListener(new OnClickListener() {            
            @Override
            public void onClick(View v) {
                soundPool.stop(soundDdok);
            }
        });        
    }
 



-사운드를 재생하기 위해서는 많은 클래스 사용이 필요하다.


SoundPool : 사운드를 담는 pool과 같은 것.

soundDdok : pool의 개념보다는 작은, 트랙같은 것.

이 둘은 외부 리소스 사운드를 이용할 때 사용.


AudioManager : 각자 안드로이드 시스템의 오디오매니져이다. 

사운드 효과, 볼륨등을 지정한다. 

안드로이드 내부의 사운드를 이용할 때 사용. 


댓글()

View - ImageButton, ImageView

웹 & 안드로이드/Android|2013. 10. 7. 12:25

-ImageView과 TextView은 거의 비슷하나 다른점은 이미지 대신 텍스트를 넣을 수 있는가 아닌가의 차이이다.
*ImageView는 그림만 들어간다.
*TextView은 텍스트와 그림이 들어갈 수 있다.
- Button도 이와 같다.

1
2
3
4
5
6
7
8
9
10
11
<ImageView
        android:id="@+id/imageView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/image1" />
        
<ImageButton
        android:id="@+id/imageButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/b1" />


댓글()

View - Switch, RadioGroup(RadioButton)

웹 & 안드로이드/Android|2013. 10. 7. 09:18

1.Switch

- Togglebutton과 기능은 같다.

- API level 14이후에 나왔으므로 이전 버전은 사용 불가.

- ToggleButton과 다른점은 UI가 개선되었다는 점?(기능의 차이점은 모른다.. 알아봐야지)


xml

1
2
3
4
5
<Switch
        android:id="@+id/switch1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Switch" />


activity

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class MainActivity extends Activity {
    Switch sw;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sw = (Switch)findViewById(R.id.switch1);
        
        sw.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked){
                    Toast.makeText(getApplicationContext(), ""+isChecked, Toast.LENGTH_SHORT).show();
                }else{
                    Toast.makeText(getApplicationContext(), ""+isChecked, Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}


-toggle버튼과 같이 isChecked로 체크되어있는지 확인이 가능하다.



2. RadioGroup

-아무리 RadioButton을 만들어도 각자 개별의 이름을 가지기 때문에 이들을 묶어야 하는 것이 필요하다.

그것이 RadioGroup이다.


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
<RadioGroup
        android:id="@+id/radioGroup1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp" >
 
        <RadioButton
            android:id="@+id/redRadio"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="false"
            android:text="red" />
 
        <RadioButton
            android:id="@+id/blueRadio"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="false"
            android:text="blue" />
 
        <RadioButton
            android:id="@+id/greanRadio"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="false"
            android:text="grean" />
 
    </RadioGroup>

-RadioGroup 안에 RadioButton 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
public class MainActivity extends Activity {
    RadioGroup radioGroup;
    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        radioGroup = (RadioGroup) findViewById(R.id.radioGroup1);
        textView = (TextView) findViewById(R.id.textView1);
        
        radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                switch(checkedId){
                case R.id.redRadio:
                    textView.setBackgroundColor(Color.RED);
                    break;
                case R.id.blueRadio:
                    textView.setBackgroundColor(Color.BLUE);
                    break;
                case R.id.greanRadio:
                    textView.setBackgroundColor(Color.GREEN);
                    break;
                }                
            }
        });
    }


-액티비티로 호출할 때에는 RadioGroup를 호출한다.

 checkedId에 체크되어있는 RadioButton의 ID가 들어 있으므로 if나 switch로 비교하면 된다.

댓글()

View - TextView, Button,ToggleButton

웹 & 안드로이드/Android|2013. 10. 4. 12:30

1. TextView


- layout xml파일에서 생성.


- 혹은, 자바 액티비티 java파일에서 생성 할 수 잇다

- MainActivity .java
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
32
33
package wakeup.textview_test_dynamic;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.RelativeLayout;
import android.widget.RelativeLayout.LayoutParams;
import android.widget.TextView;
 
public class MainActivity extends Activity {
    RelativeLayout relativeLayout;    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //xml에 만들어진 레이아웃을 불러옴.
        relativeLayout = (RelativeLayout)findViewById(R.id.relativelayout);
        
        TextView textView = new TextView(getApplicationContext());//새로운 TextView를 생성.
        textView.setText("텍스트!");//내용 삽입.
        
        //뷰의 크기등 스타일을 지정하기 위한 코드이다.
        //params라는 스타일을 하나 생성후, 마진을 설정한 후에 textView에 이스타일을 넣었다.
        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
                                                                       (int)LayoutParams.WRAP_CONTENT
                                                                     , (int)LayoutParams.WRAP_CONTENT);
        params.setMargins(11, 120, 10, 130);
        textView.setLayoutParams(params); 
        
        //불러온 레이아웃에 이러한 설정을 가진 textView를 넣는다.
        relativeLayout.addView(textView);
    } 
}


- 다음 java코드는

RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams(...);

textview.setLayoutParams(params);


 xml에서 이에 해당한다.

 <TextView

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>


-RelativeLayout.LayoutParams  텍스트뷰의 크기나 위치는 텍스트뷰가 위치한 상위 레이아웃에서 관리한다.

  텍스트뷰가 이 메소드(textView.setLayoutParams())를 통해 텍스트뷰의 크기나 위치를 가지고 있으면

  바로 상위의 레이아웃은 이 정보를 토대로 텍스트뷰 크기, 위치를 나타내게 된다. 

 (가상메소드, 인터페이스(추상메소드), 내부클래스 기술과 관련이 있다.)(정확히는 잘 모르겟다.)


2.button


-버튼에 색이나 그림을 넣을 수 있다.


-버튼에 색 넣기.

-layout.xml

1
2
3
4
5
6
<Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/button_soild"
        android:text="Gradient변색" />


android:background="" : 이 속성에 그림 혹은 xml id가 들어간다.


- xml형식의 그림.

-res/drawble-hdpi/button_soild.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true">
        <shape>
            <solid android:color="#500f0f0f"/>
            <stroke android:color="#ffffff"/>
            <corners android:radius="5sp"/>
        </shape>
    </item>
    <item>
        <shape>
            <solid android:color="#ff5555"/>
            <corners android:radius="5sp"/>
        </shape>
    </item>
</selector>


*-xml파일에서 리소스에 있는 그림을 넣는 방법.

-res/drawble-hdpi/onepeace.xml

1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true"
        android:drawable="@drawable/onepeace_on">        
    </item>
    <item android:drawable="@drawable/onepeace">       
    </item>
</selector>


-android:drawable="" 이속성에 그림id를 넣으면 된다.


3.ToggleButton


-셀렉트 기능 역할을 부여하는 클래스는 View가 아니라 Button을 상속 받은 CompoundButton클래스 이다.


-그래서 토글 버튼의 온,오프 기능을 활용하기 위해서는 리스너 클래스에 CompoundButton를 상속 시켜야 한다.

-MainActivity .java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class MainActivity extends Activity {
    ToggleButton tbtn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tbtn = (ToggleButton)this.findViewById(R.id.toggleButton1);
        
        //CompoundButton.OnCheckedChangeListener()를 익명클래스로 바로 호출하였다.
        tbtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {            
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked){
                    Toast.makeText(getApplicationContext(), "On", 0).show();
                }else{
                    Toast.makeText(getApplicationContext(), "Off", 0).show();
                }
            }
        });
    }
}


-onCheckedChanged()는 매개변수로  boolean isChecked를 받음으로써 토글이 체크 되어있는지 아닌지를 알 수 있다.


*switch button도 온오프 기능은 같다.

-다만 스위치는 API LEVEL 14이후에 나왔다. 

댓글()

android.widget.TextView xml 속성 목록

웹 & 안드로이드/Android|2013. 10. 2. 14:26

링크를 클릭하면 해당되는 안드로이드 apl문서로 이동 합니다.


 속성 이름

해당 메소드 

설명 

 android:autoLink

 setAutoLinkMask(int)

 택스트뷰의 텍스트내용이 이메일, 주소등일때 자동으로 클릭할 수 있는 링크로 변환할지를 결정. 

 android:autoText

 setKeyListener(KeyListener)

 설정하면 이 텍스트뷰에 입력할 수 있고, 입력된 텍스트를 자동으로 기본적인 맞춤법 오류를 수정하도록 지정.

 android:bufferType

 setText

(CharSequence,TextView.BufferType)

 getText()가 반환하는 최소 형식을 지정.

 android:capitalize

 setKeyListener(KeyListener)

 설정하면 이 텍스트 뷰에 입력 가능하며, 자동으로 어떤 유형으로 입력 할 것인지를 결정.(유형은 <<이름 클릭)

 android:cursorVisible

 setCursorVisible(boolean)

 커서를 표시할 것인지를 지정.

 android:digits

 setKeyListener(KeyListener)

 숫자 입력이 가능하며 특정숫자키에 사람이 등록되어있으면 true,아니면 false를 반환.

 android:drawableBottom

 setCompoundDrawablesWithIntrinsicBounds

(int,int,int,int)

 텍스트를 기준으로 각 위치에 그림을 넣을 수 있다.

 android:drawableEnd

 setCompoundDrawablesRelativeWithIntrinsicBounds

(int,int,int,int)

 android:drawableLeft

 setCompoundDrawablesWithIntrinsicBounds

(int,int,int,int)

 android:drawableRight

 setCompoundDrawablesWithIntrinsicBounds

(int,int,int,int)

 android:drawableStart

 setCompoundDrawablesRelativeWithIntrinsicBounds

(int,int,int,int)

 android:drawableTop

 setCompoundDrawablesWithIntrinsicBounds

(int,int,int,int)

 android:drawablePadding

 setCompoundDrawablePadding(int)

  그림과 택스트 사이의 여백을 설정한다.

 android:editable

 

 텍스트를 편집한다.

 android:editorExtras

 setInputExtras(int)

 입력 방법을 제공하는 추가 데이터를 포함하는 xml리소스를 지정한다.

 android:ellipsize

 setEllipsize(TextUtils.TruncateAt)

 텍스트가 길어 화면을 넘어갈때 텍스트를 어떻게 잘라 화면에 표시 할 것인지를 지정.

 android:ems

 setEms(int)

 글꼴의 크기를 정한다.

 android:fontFamily

 setTypeface(Typeface)

 폰트 패밀리를 지정

 android:freezesText

 setFreezesText(boolean)

 화면이 넘어가도 텍스트를 유지 할 것인지를 지정.

 android:gravity

 setGravity(int)

 텍스트 정렬을 지정

 android:height

 setHeight(int)

 텍스트뷰의 높이를 지정.

 android:hint

 setHint(int)

 텍스트가 비어있을때 표시되는 텍스트를 지정.

 android:imeActionId

 setImeActionLabel(CharSequence,int)

 에디터정보를 제공. 텍스트 뷰와 연결된 id를 사용.

 android:imeActionLabel

 setImeActionLabel(CharSequence,int)

 에디터정보를 제공. 텍스트 뷰와 연결된 라벨을 사용.

 android:imeOptions

 setImeOptions(int)

 에디터의 추가기능을 사용.

 android:includeFontPadding

 setIncludeFontPadding(boolean)

 텍스트의 상,하 여백이 있는지의 여부를 지정.

 android:inputMethod

 setKeyListener(KeyListener)

 이벤트 메소드를 지정.

 android:inputType

 setRawInputType(int)

 입력된 텍스트의 형을 지정.

 android:lineSpacingExtra

 setLineSpacing(float,float)

 텍스트의 행 사이의 간격을 지정.

 android:lineSpacingMultiplier

 setLineSpacing(float,float)

 텍스트 사이의 간격을 지정.

 android:lines

 setLines(int)

 텍스트 줄 수를 지정.

 android:linksClickable

 setLinksClickable(boolean)

 텍스트가 이메일이나 주소일때 자동으로 링크를 걸 것인가를 결정.

 android:marqueeRepeatLimit

 setMarqueeRepeatLimit(int)

 움직이는 애니메이션을 반복할 횟수를 지정.

텍스트가 움직이는것을 활성화 했을때만 적용됨.

 android:maxEms

 setMaxEms(int)

 최대 글꼴의 폭을 지정.

 android:maxHeight

 setMaxHeight(int)

 택스트 뷰의 최대 높이를 지정.

 android:maxLength

 setFilters(InputFilter)

 텍스트의 길이를 제한하는 입력 필터를 지정.

 android:maxLines

 setMaxLines(int)

 텍스트의 최대 줄 수를 지정.

 android:maxWidth

 setMaxWidth(int)

 텍스트뷰의 최대 폭을 지정.

 android:minEms

 setMinEms(int)

 글꼴의 최소 폭을 지정.

 android:minHeight

 setMinHeight(int)

 최소 높이를 지정.

 android:minLines

 setMinLines(int)

 텍스트의 최소 줄을 지정.

 android:minWidth

 setMinWidth(int)

 텍스트뷰의 최소 너비을 지정.

 android:numeric

 setKeyListener(KeyListener)

 숫자 입력 방식을 지정.

 android:password

 setTransformationMethod

(TransformationMethod)

 입력된 텍스트를 점으로 표시할 것인지를 결정.

 android:phoneNumber

 setKeyListener(KeyListener)

 전화번호를 입력하는 텍스트뷰인지를 결정.

 android:privateImeOptions

 setPrivateImeOptions(String)

 입력 방식을 걸정.

 android:scrollHorizontally

 setHorizontallyScrolling(boolean)

 수평으로 스크롤을 지정.

 android:selectAllOnFocus

 setSelectAllOnFocus(boolean)

 텍스트가 선택되어 있으면 전부를 선택함.

 android:shadowColor

 setShadowLayer(float,float,float,int)

 택스트의 그림자 색을 설정.

 android:shadowDx

 setShadowLayer(float,float,float,int)

 그림자의 x축을 설정.

 android:shadowDy

 setShadowLayer(float,float,float,int)

 그림자의 y축을 설정.

 android:shadowRadius

 setShadowLayer(float,float,float,int)

 그림자의 반경을 설정.

 android:singleLine

 setTransformationMethod

(TransformationMethod)

 가로의 텍스트 수를 제한하는 대신 줄 바꿈을 한다.

 android:text

 setText(CharSequence,TextView.BufferType)

 텍스트 뷰에 표시되는 텍스트를 지정한다.

 android:textAllCaps

 setAllCaps(boolean)

 

 android:textAppearance

 

 기본 텍스트의 색상, 글꼴, 크기, 스타일을 지정.

 android:textColor

 setTextColor(int)

 텍스트 색을 지정.

 android:textColorHighlight

 setHighlightColor(int)

 텍스트가 선택되었을때의 색을 지정.

 android:textColorHint

 setHintTextColor(int)

 입력된 텍스트가 없을때 뜨는 텍스트의 색을 지정.

 android:textColorLink

 setLinkTextColor(int)

 링크된 텍스트 색을 지정.

android:textIsSelectable

 isTextSelectable()

 텍스트 내용을 선택할 수 있는 지를 결정.

 android:textScaleX

 setTextScaleX(float)

 텍스트의 가로 배율을 설정.

 android:textSize

 setTextSize(int,float)

 텍스트 크기를 설정.

 android:textStyle

 setTypeface(Typeface)

 텍스트 스타일을 설정. (굵게, 기울임 꼴, 굵은 기울임).

 android:typeface

 setTypeface(Typeface)

 텍스트의 글씨체를 설정.

 android:width

 setWidth(int)

 텍스트 뷰의 폭을 설정.


'웹 & 안드로이드 > Android' 카테고리의 다른 글

View - Switch, RadioGroup(RadioButton)  (0) 2013.10.07
View - TextView, Button,ToggleButton  (0) 2013.10.04
android.view.View의 xml 속성 목록  (1) 2013.10.02
[10.1]이벤트 처리  (2) 2013.10.01
안드로이드 컴포넌트  (0) 2013.10.01

댓글()