안드로이드 스피너뷰 색상 입히기
프로그래밍2014. 4. 10. 08:00
안드로이드 스피너뷰 색상 입히기
안드로이드 프로그래밍을 하다가 가끔식 스피너뷰를 사용을 할 때 있습니다. 스피너뷰에 색상을 입히고 싶은데 때로는 쉽지 않을 때도 있습니다. 저도 구글에서 이것 저것 찾아보는 도 중에 마음에 드는 부분이 있어서 제가 직접 적용을 해보고 테스트를 한 후에 여러분들께 알려드리는 것입니다.
spinner_text.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/sp_Text"
style="?android:attr/spinnerItemStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:background="#1DDB16"
android:textColor="#000000"/>
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/sp_Text"
style="?android:attr/spinnerItemStyle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:background="#1DDB16"
android:textColor="#000000"/>
소스는 크게 복잡하지도 않습니다. 소스를 아래에 공개를 해드리겠습니다. 충분히 하실 수 있으실거에요.
위는 스피너뷰 선택 시에 색상을 바뀌어지는 부분입니다. 만약에 글씨색을 바꾸고 싶으실 경우에는 android:textColor 이 부분을 바꾸어 주시면 되고 글씨 크기를 설정을 하실 때는 android:textSize를 원하는 값으로 주시면 됩니다. 아래는 메인 xml소스입니다.
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:background="#1DDB16"
android:layout_marginTop="32dp" />
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:background="#1DDB16"
android:layout_marginTop="32dp" />
</RelativeLayout>
위의 소스는 메인 xml소스인데, 스피너뷰 하나만 지정해 놓고 나머지는 흰 백지상태입니다.
다른 기능을 추가를 할려니 일단 이 번에 하는 포스팅이 스피너뷰에 색상을 입히는 것이니 스피너뷰 하나만 나둔 것입니다.
MainActivity.java
package com.example.toast;
package com.example.toast;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String array[] = {"너구리", "다람쥐", "코알라"};
ArrayAdapter<String> spinner_adapter = new ArrayAdapter<String>(this, R.layout.spinner_text, array);
spinner_adapter.setDropDownViewResource(R.layout.spinner_text);
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
spinner.setAdapter(spinner_adapter);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
String msg = parent.getItemAtPosition(position).toString();
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String array[] = {"너구리", "다람쥐", "코알라"};
ArrayAdapter<String> spinner_adapter = new ArrayAdapter<String>(this, R.layout.spinner_text, array);
spinner_adapter.setDropDownViewResource(R.layout.spinner_text);
Spinner spinner = (Spinner) findViewById(R.id.spinner1);
spinner.setAdapter(spinner_adapter);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
String msg = parent.getItemAtPosition(position).toString();
Toast.makeText(MainActivity.this, msg, Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
java 소스입니다. 스피너뷰의 값을 배열로 지정을 해둔 상태입니다. 동물 이름이 나와있는데 귀여운 동물이름으로 했어요. 스피너뷰를 선택을 할 때 마다 메세지가 나오도록 되어 있습니다. 너구리를 선택을 하면 너구리라는 글씨가 토스트창에 나오게 됩니다. 크게 어렵지도 않고 복잡하지도 않습니다.
여기서 조금 더 응용을 하시면 멋진 작품을 만들 수 있지 않을까 생각이 듭니다. 꾸준히 반복을 하다 보면 결국 자기 것이 되지 않을까요?
'프로그래밍' 카테고리의 다른 글
블로그에 프로그래밍 소스 올리는 방법 (0) | 2014.09.29 |
---|---|
일반인이 프로그래밍 접하기 좋은 사이트 (0) | 2014.09.25 |
Java 간단한 인터페이스 예제 (0) | 2014.09.25 |
JAVA 숫자 및 금액 천 단위 콤마 나타내기 (9) | 2014.04.17 |
안드로이드 TextView에 html 적용하기 (8) | 2014.04.16 |
미완성인 감사어플 (13) | 2014.01.25 |
안드로이드 옵션메뉴를 통해 화면 색깔 바꾸기 (12) | 2014.01.11 |
안드로이드 글씨 색깔 바꾸기 어플 간단히 만들기 (16) | 2013.12.20 |
안드로이드 values - String.xml에서 생기는 is not translated in ko 에러 해결방법 (14) | 2013.08.12 |
HTML을 처음 접할 때 기억을 되새기다 (14) | 2013.05.29 |
댓글()