在这里之所以是带引号的Spinner是因为他并不是使用的系统的spinner,而是利用popupwindow来实现的一个spinner.
效果图如下:(比较粗糙,可以仿照原理美化下)
_________________________________________________________________________
下面正式介绍
首先第一步:上边的两个类似spinner的东西,
事先准备好9.png图片
写一个style作为我们spinner实现的样式
style.xml
<style name="spinner_style">
<item name="android:background">@drawable/spinner</item>
<item name="android:padding">4dp</item>
</style>
接着构造我们两个spinner的布局在其中引用我们的style.
layout_month_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:background="#ffffff"
android:gravity="center">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/date"/>
</LinearLayout>
<TextView
android:id="@+id/year"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="5"
android:textColor="#000000"
android:gravity="center"
style="@style/spinner_style">
</TextView>
<TextView
android:id="@+id/month"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="5"
android:textColor="#000000"
android:gravity="center"
style="@style/spinner_style">
</TextView>
</LinearLayout>
开始定义我们的控件:
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
/**
* Created by lenovo on 2016/11/2.
*/
public class MonthSelector extends LinearLayout{
private View root;
private TextView yearText;
private TextView monthText;
private MonthSelectorDorp drop;//后面定义的下拉window
public MonthSelec