Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>You can make your own like soo... I know this one has days as well but you get the point..</p> <p>Its composed of two views for each picker, representing buttons, with a ImageView in the center, and a textSwitcher that takes care of the numbers.</p> <p><img src="https://i.stack.imgur.com/YL4FC.png" alt="enter image description here"></p> <pre><code>public class EditHomeworkActivity extends Activity implements ViewSwitcher.ViewFactory{ private TextSwitcher mSwitcher1; private TextSwitcher mSwitcher2; private TextSwitcher mSwitcher3; public static int hwID; public static int change = 0; public static int year = 1819710; public static int day = 1819710; public static int month = 1819710; int prevMnth; Calendar cal; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.edit_homework_dialog); mSwitcher1 = (TextSwitcher) findViewById(R.id.day); mSwitcher1.setFactory(this); mSwitcher2 = (TextSwitcher) findViewById(R.id.month); mSwitcher2.setFactory(this); mSwitcher3 = (TextSwitcher) findViewById(R.id.year); mSwitcher3.setFactory(this); Animation in = AnimationUtils.loadAnimation(this, android.R.anim.fade_in); Animation out = AnimationUtils.loadAnimation(this, android.R.anim.fade_out); mSwitcher1.setInAnimation(in); mSwitcher1.setOutAnimation(out); mSwitcher2.setInAnimation(in); mSwitcher2.setOutAnimation(out); mSwitcher3.setInAnimation(in); mSwitcher3.setOutAnimation(out); Button confirm= (Button) findViewById(R.id.confirm); Button cancel = (Button) findViewById(R.id.cancel ); cal = Calendar.getInstance(); if(year != 1819710){cal.set(Calendar.YEAR, year);} if(month != 1819710){cal.set(Calendar.MONTH, month);} if(day != 1819710){cal.set(Calendar.DAY_OF_MONTH, day);} ImageButton dayP= (ImageButton) findViewById(R.id.dayP); ImageButton dayM= (ImageButton) findViewById(R.id.dayM); ImageButton monthP= (ImageButton) findViewById(R.id.monthP); ImageButton monthM= (ImageButton) findViewById(R.id.monthM); ImageButton yearP= (ImageButton) findViewById(R.id.yearP); ImageButton yearM= (ImageButton) findViewById(R.id.yearM); // add a click listener to the button confirm.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { EditHomeworkActivity.DueYear = cal.get(Calendar.YEAR); EditHomeworkActivity.DueMonth = cal.get(Calendar.MONTH); EditHomeworkActivity.DueDay = cal.get(Calendar.DAY_OF_MONTH); finish(); } }); cancel.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { finish(); } }); dayP.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {cal.roll(Calendar.DAY_OF_YEAR, 1);update();}}); dayM.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {cal.roll(Calendar.DAY_OF_YEAR, -1);update();}}); monthP.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {cal.roll(Calendar.MONTH, 1);update();}}); monthM.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {cal.roll(Calendar.MONTH, -1);update();}}); yearP.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {cal.roll(Calendar.YEAR, 1);update();}}); yearM.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {cal.roll(Calendar.YEAR, -1);update();}}); update(); } public void update(){ mSwitcher1.setText(String.valueOf(cal.get(Calendar.DAY_OF_MONTH))); mSwitcher2.setText(sort(cal.get(Calendar.MONTH))); mSwitcher3.setText(String.valueOf(cal.get(Calendar.YEAR))); } private CharSequence sort(int i) { String retrn = null; if(i == 0){retrn = "Jan";prevMnth = i;} if(i == 1){retrn = "Feb";} if(i == 2){retrn = "Mar";} if(i == 3){retrn = "Apr";} if(i == 4){retrn = "May";} if(i == 5){retrn = "Jun";} if(i == 6){retrn = "Jul";} if(i == 7){retrn = "Aug";} if(i == 8){retrn = "Sept";} if(i == 9){retrn = "Oct";} if(i == 10){retrn = "Nov";} if(i == 11){retrn = "Dec";prevMnth = i;} if(i == 12){if(prevMnth == 0){cal.roll(Calendar.MONTH, -1);}else{cal.roll(Calendar.MONTH, 1);}update();} return retrn; } public View makeView() { TextView t = new TextView(this); t.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL); t.setTextSize(36); return t; } } </code></pre> <hr> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/relativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/android_rel_background" &gt; &lt;TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:padding="15dip" android:text="Homework Due Date:" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#00B7EE" /&gt; &lt;View android:id="@+id/v" android:layout_width="match_parent" android:layout_height="4dip" android:layout_alignParentLeft="true" android:layout_below="@+id/title" android:background="#DFDFDF" /&gt; &lt;TextView android:id="@+id/dateText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/v" android:layout_centerHorizontal="true" android:padding="15dip" android:text="Date:" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="#00B7EE" android:visibility="gone" /&gt; &lt;View android:id="@+id/v1" android:layout_width="match_parent" android:layout_height="0dip" android:layout_alignParentLeft="true" android:layout_below="@+id/dateText" android:background="#DFDFDF" /&gt; &lt;RelativeLayout android:id="@+id/rel1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/v1" android:padding="15dip"&gt; &lt;RelativeLayout android:id="@+id/rel1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true"&gt; &lt;View android:id="@+id/v1" android:layout_width="1dip" android:layout_height="wrap_content" android:layout_alignBottom="@+id/dayV" android:layout_alignTop="@+id/dayV" android:background="#DFDFDF" /&gt; &lt;LinearLayout android:id="@+id/dayV" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:orientation="vertical" android:layout_toRightOf="@+id/v1"&gt; &lt;View android:id="@+id/v" android:layout_width="match_parent" android:layout_height="1dip" android:layout_alignParentLeft="true" android:layout_below="@+id/title" android:background="#DFDFDF" /&gt; &lt;ImageButton android:id="@+id/dayP" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/android_rel_background" android:padding="30dip" android:src="@drawable/plus" /&gt; &lt;View android:id="@+id/v" android:layout_width="match_parent" android:layout_height="1dip" android:layout_alignParentLeft="true" android:layout_below="@+id/title" android:background="#DFDFDF" /&gt; &lt;RelativeLayout android:id="@+id/relativeLayout2" android:layout_width="match_parent" android:layout_height="wrap_content" &gt; &lt;TextSwitcher android:id="@+id/day" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingBottom="15dip" android:paddingTop="15dip" android:layout_centerInParent="true"&gt; &lt;/TextSwitcher&gt; &lt;/RelativeLayout&gt; &lt;View android:id="@+id/v" android:layout_width="match_parent" android:layout_height="1dip" android:layout_alignParentLeft="true" android:layout_below="@+id/title" android:background="#DFDFDF" /&gt; &lt;ImageButton android:id="@+id/dayM" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/android_rel_background" android:padding="30dip" android:src="@drawable/minus" /&gt; &lt;View android:id="@+id/v" android:layout_width="match_parent" android:layout_height="1dip" android:layout_alignParentLeft="true" android:layout_below="@+id/title" android:background="#DFDFDF" /&gt; &lt;/LinearLayout&gt; &lt;View android:id="@+id/v2" android:layout_width="1dip" android:layout_height="wrap_content" android:layout_alignBottom="@+id/dayV" android:layout_alignTop="@+id/dayV" android:layout_toRightOf="@+id/dayV" android:background="#DFDFDF" /&gt; &lt;LinearLayout android:id="@+id/monthV" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/v2" android:orientation="vertical" &gt; &lt;View android:id="@+id/v" android:layout_width="match_parent" android:layout_height="1dip" android:layout_alignParentLeft="true" android:layout_below="@+id/title" android:background="#DFDFDF" /&gt; &lt;ImageButton android:id="@+id/monthP" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/android_rel_background" android:padding="30dip" android:src="@drawable/plus" /&gt; &lt;View android:id="@+id/v" android:layout_width="match_parent" android:layout_height="1dip" android:layout_alignParentLeft="true" android:layout_below="@+id/title" android:background="#DFDFDF" /&gt; &lt;RelativeLayout android:id="@+id/relativeLayout3" android:layout_width="match_parent" android:layout_height="wrap_content" &gt; &lt;TextSwitcher android:id="@+id/month" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingBottom="15dip" android:paddingTop="15dip" android:layout_centerInParent="true"&gt; &lt;/TextSwitcher&gt; &lt;/RelativeLayout&gt; &lt;View android:id="@+id/v" android:layout_width="match_parent" android:layout_height="1dip" android:layout_alignParentLeft="true" android:layout_below="@+id/title" android:background="#DFDFDF" /&gt; &lt;ImageButton android:id="@+id/monthM" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/android_rel_background" android:padding="30dip" android:src="@drawable/minus" /&gt; &lt;View android:id="@+id/v" android:layout_width="match_parent" android:layout_height="1dip" android:layout_alignParentLeft="true" android:layout_below="@+id/title" android:background="#DFDFDF" /&gt; &lt;/LinearLayout&gt; &lt;View android:id="@+id/v3" android:layout_width="1dip" android:layout_height="wrap_content" android:layout_alignBottom="@+id/dayV" android:layout_alignTop="@+id/dayV" android:layout_toRightOf="@+id/monthV" android:background="#DFDFDF" /&gt; &lt;LinearLayout android:id="@+id/yearV" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/v3" android:orientation="vertical" &gt; &lt;View android:id="@+id/v" android:layout_width="match_parent" android:layout_height="1dip" android:layout_alignParentLeft="true" android:layout_below="@+id/title" android:background="#DFDFDF" /&gt; &lt;ImageButton android:id="@+id/yearP" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/android_rel_background" android:src="@drawable/plus" android:paddingLeft="40dip" android:paddingRight="40dip" android:paddingBottom="30dip" android:paddingTop="30dip"/&gt; &lt;View android:id="@+id/v" android:layout_width="match_parent" android:layout_height="1dip" android:layout_alignParentLeft="true" android:layout_below="@+id/title" android:background="#DFDFDF" /&gt; &lt;RelativeLayout android:id="@+id/relativeLayout4" android:layout_width="match_parent" android:layout_height="wrap_content" &gt; &lt;TextSwitcher android:id="@+id/year" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingBottom="15dip" android:paddingTop="15dip" android:layout_centerInParent="true"&gt; &lt;/TextSwitcher&gt; &lt;/RelativeLayout&gt; &lt;View android:id="@+id/v" android:layout_width="match_parent" android:layout_height="1dip" android:layout_alignParentLeft="true" android:layout_below="@+id/title" android:background="#DFDFDF" /&gt; &lt;ImageButton android:id="@+id/yearM" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/android_rel_background" android:src="@drawable/minus" android:paddingLeft="40dip" android:paddingRight="40dip" android:paddingTop="30dip" android:paddingBottom="30dip"/&gt; &lt;View android:id="@+id/v" android:layout_width="match_parent" android:layout_height="1dip" android:layout_alignParentLeft="true" android:layout_below="@+id/title" android:background="#DFDFDF" /&gt; &lt;/LinearLayout&gt; &lt;View android:id="@+id/v4" android:layout_width="1dip" android:layout_height="wrap_content" android:layout_alignBottom="@+id/dayV" android:layout_alignTop="@+id/dayV" android:layout_toRightOf="@+id/yearV" android:background="#DFDFDF" /&gt; &lt;/RelativeLayout&gt; &lt;/RelativeLayout&gt; &lt;View android:id="@+id/v2" android:layout_width="match_parent" android:layout_height="1dip" android:layout_alignParentLeft="true" android:background="#DFDFDF" android:layout_below="@+id/rel1"/&gt; &lt;LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/v2" android:background="#FF909090" android:paddingBottom="5dip" &gt; &lt;Button android:id="@+id/confirm" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="4dip" android:layout_weight="1" android:padding="5dip" android:text="Confirm" /&gt; &lt;Button android:id="@+id/cancel" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="4dip" android:layout_weight="1" android:padding="5dip" android:text="Cancel" /&gt; &lt;/LinearLayout&gt; &lt;/RelativeLayout&gt; </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload