android spinner 样式完全自定义[包括RadioButton和RatingBar效果自定义]
2014-12-30 13:17
411 查看
最近公司项目不那么紧张了,所以整理了下项目中一些控件的自定义样式,这里主要讲解的是spinner、RadioButton、RatingBar三种控件的完全自定义,CheckBox的自定义基本上跟RadioButton是一样的,如果想了解其他控件的自定义,可以参考本博客,android 用户界面相关的文章内容。
先还是直接贴上效果图吧,这样看起来也有底点
默认效果界面
点击spinner效果图
主布局文件activity_main.xml
其中相关的样式文件
comment_rating_bar.xml
shape_spinner_bg.xml
shape_spinner_dropbg.xml
style_select_sex.xml
说明:spinner样式设置时请注意在AndroidManifest.xml添加theme设置如:
MainActivity.java 类文件代码
代码实例下载:
http://download.csdn.net/detail/yuan_love/8313911
注明:文章中引用的图片来自网络,如果侵犯了作者的权益,请通知本人,本人即刻处理
先还是直接贴上效果图吧,这样看起来也有底点
默认效果界面
点击spinner效果图
主布局文件activity_main.xml
<LinearLayout 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:orientation="vertical" android:background="@drawable/adasad" android:padding="20dp" > <Spinner android:layout_marginTop="40dp" android:id="@+id/spinner1" style="@style/spnner_divider_style" android:layout_width="match_parent" android:gravity="center_vertical|right" android:layout_height="wrap_content" android:background="@null" android:spinnerMode="dropdown" android:prompt="@string/planet_prompt" android:popupBackground="@android:color/transparent" android:dropDownVerticalOffset="10dp"/> <RadioGroup android:id="@+id/radioGroup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginTop="30dp"> <RadioButton android:id="@+id/radioButton1" android:layout_width="wrap_content" android:drawableLeft="@drawable/style_select_sex" android:layout_height="wrap_content" android:button="@null" android:text=" 男" android:checked="true"/> <RadioButton android:layout_marginLeft="20dp" android:id="@+id/radioButton2" android:layout_width="wrap_content" android:drawableLeft="@drawable/style_select_sex" android:layout_height="wrap_content" android:button="@null" android:text=" 女" /> </RadioGroup> <!-- style="?android:attr/ratingBarStyle" --> <RatingBar style="@style/comment_ratingbar_style" android:layout_marginTop="30dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:stepSize="1" android:numStars="5" android:rating="1"/> </LinearLayout>
其中相关的样式文件
comment_rating_bar.xml
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+android:id/background" android:drawable="@drawable/commment_rating_bar_pressed"> </item> <item android:id="@+android:id/secondaryProgress" android:drawable="@drawable/commment_rating_bar_pressed"> </item> <item android:id="@+android:id/progress" android:drawable="@drawable/commment_rating_bar_normal"> </item> </layer-list>
shape_spinner_bg.xml
<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <!-- gradient 对应颜色渐变。 startcolor、endcolor就不多说了。 android:angle 是指从哪个角度开始变。 solid 填充。 stroke 描边。 corners 圆角。 padding 定义内容离边界的距离。 与android:padding_left、android:padding_right这些是一个道理 --> <solid android:color="#d7000f" /> <stroke android:width="1dp" android:color="#919191" /> <corners android:radius="3dp"/> </shape>
shape_spinner_dropbg.xml
<?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#FFFFFF" /> <stroke android:width="1dp" android:color="#d7000f" /> <corners android:radius="3dp"/> </shape>
style_select_sex.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/order_checked" android:state_checked="true"/> <item android:drawable="@drawable/order_checked" android:state_pressed="true"/> <item android:drawable="@drawable/order_discheck"/> </selector>
说明:spinner样式设置时请注意在AndroidManifest.xml添加theme设置如:
<activity android:name="com.yuan.widget.activity.MainActivity" android:label="@string/app_name" android:theme="@style/spnner_divider_style"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
MainActivity.java 类文件代码
package com.yuan.widget.activity; import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.Menu; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.Spinner; public class MainActivity extends Activity { private Spinner spinner1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spinner1 = (Spinner) findViewById(R.id.spinner1); radioGroup = (RadioGroup) findViewById(R.id.radioGroup); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.planets_array, R.layout.item_spinner_defalut); adapter.setDropDownViewResource(R.layout.item_spinner_dropdown); spinner1.setAdapter(adapter); } }
代码实例下载:
http://download.csdn.net/detail/yuan_love/8313911
注明:文章中引用的图片来自网络,如果侵犯了作者的权益,请通知本人,本人即刻处理
相关文章推荐
- android spinner 样式完全自定义[包括RadioButton和RatingBar效果]
- Android开发之自定义Spinner样式的效果实现(源代码实现)
- Android开发之自定义Spinner样式的效果实现(源代码实现)
- Android中自定义RatingBar,自定义星星间距,自定义样式,自定义显示效果
- Android中spinner自定义样式
- Android中RatingBar的自定义效果
- android自定义Spinner下拉菜单和AutoCompleteTextView自动显示的(下拉列表框)样式
- Android 自定义RadioButton的样式
- android自定义Spinner下拉菜单和AutoCompleteTextView自动显示的(下拉列表框)样式
- android: spinner及setDropDownViewResource的使用及自定义Spinner样式
- android自定义Spinner下拉菜单和AutoCompleteTextView自动显示的(下拉列表框)样式
- android自定义Spinner下拉列表框样式
- Android 常用控件自定义样式RadioButton、CheckBox、ProgressBar、
- Android中RatingBar的自定义效果
- android自定义Spinner下拉菜单(下拉列表框)样式
- android自定义Spinner下拉菜单(下拉列表框)样式
- android的自定义样式的radiobutton
- android 自定义RadioButton样式
- Android之PreferenceActivity(包括样式自定义)
- android自定义Spinner下拉菜单和AutoCompleteTextView自动显示的(下拉列表框)样式