Spinner Animation
java
public class xiala extends Activity
{
private static final String[] countriesStr =
{ "AA", "BB", "CC", "DD" };
private TextView myTextView;
private Spinner mySpinner;
private ArrayAdapter<String> adapter;
Animation myAnimation;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
/* main.xml Layout */
setContentView(R.layout.main);
/* findViewById() */
myTextView = (TextView) findViewById(R.id.myTextView);
mySpinner = (Spinner) findViewById(R.id.mySpinner);
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, countriesStr);
/* myspinner_dropdown res/layout */
adapter.setDropDownViewResource(R.layout.myspinner);
/* ArrayAdapter Spinner */
mySpinner.setAdapter(adapter);
/* mySpinner OnItemSelectedListener */
mySpinner.setOnItemSelectedListener
(new Spinner.OnItemSelectedListener()
{
@Override
public void onItemSelected
(AdapterView<?> arg0, View arg1, int arg2,
long arg3)
{
/* mySpinner myTextView */
myTextView.setText(" " + countriesStr[arg2]);
/* mySpinner */
arg0.setVisibility(View.VISIBLE);
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
// TODO Auto-generated method stub
}
});
/* Animation res/anim */
myAnimation = AnimationUtils.loadAnimation(this, R.anim.my_anim);
/* mySpinner OnTouchListener */
mySpinner.setOnTouchListener(new Spinner.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
/* mySpinner Animation */
v.startAnimation(myAnimation);
/* mySpinner */
v.setVisibility(View.INVISIBLE);
return false;
}
});
mySpinner.setOnFocusChangeListener(new Spinner.OnFocusChangeListener()
{
@Override
public void onFocusChange(View v, boolean hasFocus)
{
// TODO Auto-generated method stub
}
});
}
}
main.xml <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/white"
>
<TextView
android:id="@+id/myTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/title"
android:textColor="@drawable/black"
>
</TextView>
<Spinner
android:id="@+id/mySpinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
</Spinner>
</LinearLayout>
anim <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="-100%p"
android:duration="300"
>
</translate>
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="300">
</alpha>
</set>
myspinner.xml <?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="24sp"
android:singleLine="true"
style="?android:attr/spinnerDropDownItemStyle" />