همیشه طراحی های جدید جذابیت های خاص خود را دارد امروز کتابخانه ای را معرفی می کنیم تا بتوانید چک باکس های دایره ای شکل در برنامه های اندرویدی خود ایجاد کنید.
این کتابخانه فعلا بصورت کد خالص جاوا و xml می باشد. به همین دلیل سازگار با تمامی نسخه های اندروید می باشد.
کتابخانه را از گیت هاب دانلود کنید و فایل CircleCheckBox.java را در یکی از پکیج های برنامه خود کپی کنید.
سپس فایل ccb_attrs.xml را در آدرس res/values کپی کنید.
حال بصورت چک باکس های عادی با کپی کردن کد زیر چک باکس دایره ای شکلی را در برنامه خود ایجاد کنید.
این چک باکس همانند چک باکس عادی اندروید می باشد فقط دارای بعضی خصوصیات مختلف می باشد که در کد زیر بصورت کامنت توضیحات مرتبط نوشته شده است.
<com.arlinddev.CircleCheckBox
android:id="@+id/chbx"
android:layout_width="match_parent"
android:layout_height="60dp"
android:paddingLeft="5dp"
app:borderThickness="2dp"
app:circleBorderColor="#00CFAD" // رنگ خط مرز چک باکس
app:innerCircleColor="#00CFAD" // رنگ دایره درون چک باکس
app:innerCircleRadius="14dp" // شعاع دایره چک باکس
app:outerCircleColor="#6400CFAD" // رنگ خط دور چک باکس
app:outerCircleRadius="6dp" // شعاع دور چک باکس
app:showOuterCircle="true"// یک لایه دایره خارجی نمایش داده شود یا خیر
app:textColor="#000000" // رنگ متن
app:textLeftPadding="5dp" // پدینگ چپ نوشته
app:textSize="16dp" // سایز نوشته
app:tickColor="#ffffff" //رنگ تیک داخل چک باکس
app:tickThickness="1dp" // اندازه تیک داخل چک باکس
app:text="Are you crazy?" /> // متن چک باکس
نکته : تگ ابتدای این ویو به خاطر ساخته شدن در پروژه شما متغییر می باشد .بطور مثال قسمت <com.arlinddev.CircleCheckBox در پروژه من <ir.technopedia.spotlight.CircleCheckBox بود. اول این تگ با توجه به پکچ نیم شما ست می شود.
در کدهای جاوا نیز دقیقا عین یک چک باکس عادی باید استفاده کنیم بصورت زیر
CircleCheckBox checkBox = new CheckBox(context);
checkBox.setOnCheckedChangeListener(new CircleCheckBox.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CircleCheckBox view, boolean isChecked) {
System.out.println("CHECK "+isChecked);
}
});
لیست توابع قابل استفاده در این ویو نیز به شرح زیر می باشد. البته به خاطر شباهت اسمی آنها با کد های xml توضیحات نوشته نشده است.
setTickColor(int);
setTickColorHex(String);
setTextColor(int);
setTextColorHex(String);
setShowOuterCircle(boolean);
setInnerCircleColor(int);
setInnerCircleColorHex(String);
setOuterCircleColor(int);
setOuterCircleColorHex(String);
setCircleBorderColor(int);
setCircleBorderColorHex(String);
setTickThickness(float);
setBorderThickness(float);
setTextLeftPadding(float);
setTextSize(float);
setInnerCircleRadius(float);
setOuterCircleRadius(float);
setChecked(boolean);
setText(String);