Wednesday, October 4, 2017

Tùy chỉnh spinner android

Spinner nguyên bản trong Android nhìn khá xấu.

Nó vừa không cho chữ vào giữa được, vừa rất hẹp giữa các dòng.
Để có spinner có thể chỉnh sửa, tô màu chữ theo ý muốn, ta tạo một file xml có tên spin trong thư mục layout.

Trong đó ta để một textView, tùy chỉnh màu sắc, căn nó vào giữa, giãn dòng đủ rộng.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView
        android:id="@+id/text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:lineSpacingExtra="6dp"
        android:paddingTop="8dp"
        android:singleLine="true"
        android:textColor="#00F"
        android:textSize="17sp" />
</LinearLayout>
Sau đó trong phần set adapter ta đổi dòng đó thành.
adapter = new ArrayAdapter<String>(this, R.layout.spin, R.id.textdata);
Ta dùng cái tự tạo của mình chứ không dùng mẫu simple trong R.layout.
Lúc đó Spinner sẽ trông như sau.

Để tạo góc tròn cho spinner, trong thư mục drawable, tạo một file xml có tên bu như sau.


<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#a1caf1"/>
<corners android:radius="5dp"/>
</shape>
Sau đó set background cho spinner là được.
android:background="@drawable/bu"
 

No comments:

Post a Comment