activity_main.xml

<TextView
android:id="@+id/txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#80f0"
android:gravity="center"
android:text="country"
android:textSize="30dp" />
<Spinner
android:id="@+id/sp01"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp" />

MainActivity.java

public class MainActivity extends AppCompatActivity {
TextView textView;
Spinner spinner;
ArrayAdapter<String> adapter = null;

String[] items = {"korea", "china", "japan", "france"};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

textView = findViewById(R.id.txt);
spinner = findViewById(R.id.sp01);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, items);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner.setAdapter(adapter);
}
}

---seperate data---

activity_main.xml

<TextView
android:id="@+id/txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#80f0"
android:gravity="center"
android:text="country"
android:textSize="30dp" />
<Spinner
android:id="@+id/sp01"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp" />

country.xml

<string-array name="country">
<item>korea</item>
<item>china</item>
<item>japan</item>
<item>france</item>
</string-array>

MainActivity.java

public class MainActivity extends AppCompatActivity {

Spinner spinner;
ArrayAdapter<CharSequence> adapter = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

spinner = findViewById(R.id.sp01);
adapter = ArrayAdapter.createFromResource(this, R.array.country, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner.setAdapter(adapter);
}
}

'android studio' 카테고리의 다른 글

inflation  (0) 2019.08.11
GridView  (0) 2019.08.11
AdapterView(ListView)  (0) 2019.08.10
view에 도형, 텍스트 그리기  (0) 2019.08.10
Button, RadioButton, CheckBox, ImageView, ImageButton  (0) 2019.08.10

Adapter가 data를 가져와서 getview() method를 통해 Adapter View형태로 보여준다

Adapter의 종류에는 ArrayAdapter, SimpleAdapter, cursorAdapter가 있다

Adapter View의 종류에는 ListView, GridView, Spinner, Gallery등이 있다

 

activity_main.xml

<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>

MainActivity.java

public class MainActivity extends AppCompatActivity {

ArrayList<String> arrayList = null;
ArrayAdapter<String> adapter = null;
ListView listView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

arrayList = new ArrayList<String>();
arrayList.add("jusung");
arrayList.add("aaaaa");
arrayList.add("bbbbb");
arrayList.add("ccccc");
arrayList.add("ddddd");
arrayList.add("eeeee");
arrayList.add("fffff");
arrayList.add("ggggg");
arrayList.add("hhhhh");
arrayList.add("iiiii");
arrayList.add("jjjjjj");

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arrayList);

listView = findViewById(R.id.listView);
listView.setAdapter(adapter);
//adapter를 통해 화면에 보여준다
}

}

---seperate data---

activity_main.xml

<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>

 

MainActivity.java

public class MainActivity extends AppCompatActivity {

ArrayAdapter<CharSequence> arrayAdapter = null;
ListView listView = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//createFromResource() method를 이용해 resource로부터 adapter를 생성
arrayAdapter = ArrayAdapter.createFromResource(this, R.array.contact, android.R.layout.simple_list_item_checked);
//ctr+space bar를 눌러서 다른 목록을 선택할수있다.
listView = findViewById(R.id.listView); //listView를 가져온다
listView.setAdapter(arrayAdapter);

listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
//listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
//multiple일때 여러개 선택가능하다

//ColorDrawable객체를 이용해 구분선에 색을추가할수있다
ColorDrawable colorDrawable = new ColorDrawable(Color.BLUE);
listView.setDivider(colorDrawable);
listView.setDividerHeight(5);
}

}

data.xml

//res\values\data.xml

<resources>
<string-array name="contact">
<item>fffff 010010010</item>
<item>eeeee 010010010</item>
<item>ddddd 010010010</item>
<item>ccccc 010010010</item>
<item>bbbbb 010010010</item>
<item>aaaaa 010010010</item>
</string-array>
</resources>

---listActivity---

MainActivity.java

public class MainActivity extends ListActivity {
//ListActivity를 상속받는다
ArrayList<String> data = null;
ArrayAdapter<String> adapter = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
//ListActivity에 listView가 포함되있다

data = new ArrayList<String>();
data.add("aaaaa");
data.add("bbbbb");
data.add("ccccc");
data.add("ddddd");
data.add("eeeee");
data.add("fffff");
data.add("ggggg");
data.add("hhhhh");
data.add("iiiii");

adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data);

setListAdapter(adapter);
//ListActivity에 setListAdapter method를 이용해 adapter를 추가시킨다
}
}

---listActivity---

MainActivity.java

public class MainActivity extends ListActivity {
//ListActivity를 상속받는다
String[] laughing = {"haha","hoho","hihi","hehe","huhu","hwhw"};
ArrayAdapter<String> adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
//ListActivity에 listView가 포함되있다

adapter = new ArrayAdapter<String>(this, R.layout.activity_list_style,
R.id.laugh, laughing);
//직접만든 activity_list_style로 지정한다
//actvity_list_style에 만든 text view의 id값에 data laughing를 입력한다

setListAdapter(adapter);
//ListActivity에 setListAdapter method를 이용해 adapter를 추가시킨다
}
}

activity_list_style.xml

//res\layout에 activity_list_style.xml를 만든다

<ImageView
android:id="@+id/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher_foreground"/>
<TextView
android:id="@+id/laugh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24sp"
android:paddingTop="50dp"/>

'android studio' 카테고리의 다른 글

GridView  (0) 2019.08.11
Spinner  (0) 2019.08.10
view에 도형, 텍스트 그리기  (0) 2019.08.10
Button, RadioButton, CheckBox, ImageView, ImageButton  (0) 2019.08.10
text view  (0) 2019.08.09

1 activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="50dp"
tools:context=".MainActivity">

<EditText
android:id="@+id/num1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"/>

<EditText
android:id="@+id/num2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/num1"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"/>
<Button
android:id="@+id/plus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+"
android:layout_below="@+id/num2"
android:layout_alignParentLeft="true"/>
<Button
android:id="@+id/minus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="-"
android:layout_below="@+id/num2"
android:layout_toRightOf="@+id/plus"/>
<Button
android:id="@+id/multiply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="*"
android:layout_below="@+id/plus"
android:layout_alignParentLeft="true"/>
<Button
android:id="@+id/divide"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="/"
android:layout_below="@+id/plus"
android:layout_toRightOf="@+id/multiply"/>
<EditText
android:id="@+id/result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/multiply"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"/>
</RelativeLayout>

 

2. MainActivity.java

package com.example.calculation;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

EditText num1, num2, result;
Button plus, minus, multiply, divide;
double a, b, c=0;
View.OnClickListener cl;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

num1 = (EditText) findViewById(R.id.num1);
num2 = (EditText) findViewById(R.id.num2);
result = (EditText) findViewById(R.id.result);
plus = (Button) findViewById(R.id.plus);
minus = (Button) findViewById(R.id.minus);
multiply = (Button) findViewById(R.id.multiply);
divide = (Button) findViewById(R.id.divide);

cl = new View.OnClickListener(){
public void onClick(View v){
a = Double.parseDouble(num1.getText().toString());
b = Double.parseDouble(num2.getText().toString());

switch (v.getId()){
case R.id.plus:
c=a+b;
break;
case R.id.minus:
c=a-b;
break;
case R.id.multiply:
c=a*b;
break;
case R.id.divide:
c=a/b;
break;
}
result.setText(String.valueOf(c));
}};
plus.setOnClickListener(cl);
minus.setOnClickListener(cl);
multiply.setOnClickListener(cl);
divide.setOnClickListener(cl);
}}

Layout class는 View widget들을 group화하여

배치하기 위한 용도로사용되는 ViewGroup이다

 

1. LinearLayout

여러 View widget들을 가로또는 세로방향으로 나열할때 사용하는 Layout class이다

widget의 크기와 관계없이 한방향으로 stacked형태로 표시된다

weight 기능을 이용해 View widget간의 상대적인값으로 크기를 설정할수있다 

 

2. RelativeLayout

View widget들이 서로간의 상대적배치관계에따라 화면에 표시될위치가 결정된다

부모 Layout class 자체가 상대적 위치의 기준점으로 사용될수도있다

상대적인 배치 기준점을 지정하지 않는다면 중첩되어 표시된다.

 

3. FramLayout

하나의 자식 View widget만을 표시할때 사용되는 layout class이다

여러 View widget을 추가할경우 중첩되며

마지막에 추가된 View widget이 상위에표시된다

 

4. TableLayout

View widget들을 table(행과 열)로 나누어 표시하는 Laout class이다

TableRow class를 이용해 행을추가하고 View widget을 추가하면 table형태로 표시된다

 

5. ListView와 GridView

View widget을 내용만 달리하여 반복적으로 표시할경우 사용될수있다

'android studio' 카테고리의 다른 글

AdapterView(ListView)  (0) 2019.08.10
view에 도형, 텍스트 그리기  (0) 2019.08.10
Button, RadioButton, CheckBox, ImageView, ImageButton  (0) 2019.08.10
text view  (0) 2019.08.09
Custom ListView  (0) 2019.08.07

+ Recent posts