在Android中显示数字的滚动动画
要创建通过滚动显示数字的动画。 e、 g.我已经看到ios可以使用它,我们可以对android也这样做吗在Android中显示数字的滚动动画,android,animation,Android,Animation,要创建通过滚动显示数字的动画。 e、 g.我已经看到ios可以使用它,我们可以对android也这样做吗 感谢您的帮助 尝试以下操作以创建车轮捡拾器 public class MainActivity extends Activity { // TODO: Externalize string-array String wheelMenu1[] = new String[]{"name 1", "name 2", "name 3", "name 4",
感谢您的帮助 尝试以下操作以创建
车轮捡拾器
public class MainActivity extends Activity
{
// TODO: Externalize string-array
String wheelMenu1[] = new String[]{"name 1", "name 2", "name 3", "name 4", "name 5", "name 6","name 7","name 8","name 9"};
String wheelMenu2[] = new String[]{"age 1", "age 2", "age 3"};
String wheelMenu3[] = new String[]{"10", "20","30","40","50","60"};
// Wheel scrolled flag
private boolean wheelScrolled = false;
private TextView text;
private EditText text1;
private EditText text2;
private EditText text3;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initWheel1(R.id.p1);
initWheel2(R.id.p2);
initWheel3(R.id.p3);
text1 = (EditText) this.findViewById(R.id.r1);
text2 = (EditText) this.findViewById(R.id.r2);
text3 = (EditText) this.findViewById(R.id.r3);
text = (TextView) this.findViewById(R.id.result);
}
// Wheel scrolled listener
OnWheelScrollListener scrolledListener = new OnWheelScrollListener()
{
public void onScrollStarts(WheelView wheel)
{
wheelScrolled = true;
}
public void onScrollEnds(WheelView wheel)
{
wheelScrolled = false;
updateStatus();
}
};
// Wheel changed listener
private final OnWheelChangedListener changedListener = new OnWheelChangedListener()
{
public void onChanged(WheelView wheel, int oldValue, int newValue)
{
if (!wheelScrolled)
{
updateStatus();
}
}
};
/**
* Updates entered PIN status
*/
private void updateStatus()
{
text1.setText(wheelMenu1[getWheel(R.id.p1).getCurrentItem()]);
text2.setText(wheelMenu2[getWheel(R.id.p2).getCurrentItem()]);
text3.setText(wheelMenu3[getWheel(R.id.p3).getCurrentItem()]);
text.setText(wheelMenu1[getWheel(R.id.p1).getCurrentItem()] + " - " + wheelMenu2[getWheel(R.id.p2).getCurrentItem()] + " - " + wheelMenu3[getWheel(R.id.p3).getCurrentItem()]);
}
/**
* Initializes wheel
*
* @param id
* the wheel widget Id
*/
private void initWheel1(int id)
{
WheelView wheel = (WheelView) findViewById(id);
wheel.setAdapter(new ArrayWheelAdapter<String>(wheelMenu1));
wheel.setVisibleItems(2);
wheel.setCurrentItem(0);
wheel.addChangingListener(changedListener);
wheel.addScrollingListener(scrolledListener);
}
private void initWheel2(int id)
{
WheelView wheel = (WheelView) findViewById(id);
wheel.setAdapter(new ArrayWheelAdapter<String>(wheelMenu2));
wheel.setVisibleItems(2);
wheel.setCurrentItem(0);
wheel.addChangingListener(changedListener);
wheel.addScrollingListener(scrolledListener);
}
private void initWheel3(int id)
{
WheelView wheel = (WheelView) findViewById(id);
wheel.setAdapter(new ArrayWheelAdapter<String>(wheelMenu3));
wheel.setVisibleItems(2);
wheel.setCurrentItem(0);
wheel.addChangingListener(changedListener);
wheel.addScrollingListener(scrolledListener);
}
/**
* Returns wheel by Id
*
* @param id
* the wheel Id
* @return the wheel with passed Id
*/
private WheelView getWheel(int id)
{
return (WheelView) findViewById(id);
}
/**
* Tests wheel value
*
* @param id
* the wheel Id
* @param value
* the value to test
* @return true if wheel value is equal to passed value
*/
private int getWheelValue(int id)
{
return getWheel(id).getCurrentItem();
}
}
公共类MainActivity扩展活动
{
//TODO:外部化字符串数组
字符串wheelMenu1[]=新字符串[]{“名称1”、“名称2”、“名称3”、“名称4”、“名称5”、“名称6”、“名称7”、“名称8”、“名称9”};
字符串wheelMenu2[]=新字符串[]{“年龄1”、“年龄2”、“年龄3”};
字符串wheelMenu3[]=新字符串[]{“10”、“20”、“30”、“40”、“50”、“60”};
//车轮滚动标志
私有布尔wheelScrolled=false;
私有文本查看文本;
私人编辑文本1;
私人编辑文本文本2;
私人编辑文本文本3;
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
初始轮1(R.id.p1);
初始轮2(R.id.p2);
初始轮3(R.id.p3);
text1=(EditText)this.findViewById(R.id.r1);
text2=(EditText)this.findViewById(R.id.r2);
text3=(EditText)this.findViewById(R.id.r3);
text=(TextView)this.findViewById(R.id.result);
}
//滚轮式侦听器
OnWheelScrollListener scrolledListener=新建OnWheelScrollListener()
{
CROWLLSTARTS上的公共无效(车轮视图车轮)
{
wheelScrolled=true;
}
十字轴上的公共空隙(车轮视图车轮)
{
wheelScrolled=false;
更新状态();
}
};
//轮换监听器
私有最终OnWheelChangedListener changedListener=新OnWheelChangedListener()
{
更改后的公共无效(WheelView控制盘、int-oldValue、int-newValue)
{
如果(!已滚动)
{
更新状态();
}
}
};
/**
*更新输入的PIN状态
*/
私有void updateStatus()
{
text1.setText(wheelMenu1[getWheel(R.id.p1).getCurrentItem());
text2.setText(wheelMenu2[getWheel(R.id.p2).getCurrentItem()]);
text3.setText(wheelMenu3[getWheel(R.id.p3).getCurrentItem()]);
text.setText(wheelMenu1[getWheel(R.id.p1).getCurrentItem()]+“-”+wheelMenu2[getWheel(R.id.p2).getCurrentItem()]+“-”+wheelMenu3[getWheel(R.id.p3).getCurrentItem());
}
/**
*初始化控制盘
*
*@param-id
*控制盘小部件Id
*/
私有void initWheel1(内部id)
{
WheelView车轮=(WheelView)findViewById(id);
车轮设置适配器(新阵列车轮适配器(车轮菜单1));
车轮。设置可见项目(2);
wheel.setCurrentItem(0);
wheel.addChangingListener(changedListener);
wheel.addScrollingListener(scrolledListener);
}
私有无效初始化2(内部id)
{
WheelView车轮=(WheelView)findViewById(id);
车轮设置适配器(新阵列车轮适配器(车轮菜单2));
车轮。设置可见项目(2);
wheel.setCurrentItem(0);
wheel.addChangingListener(changedListener);
wheel.addScrollingListener(scrolledListener);
}
私有void initWheel3(内部id)
{
WheelView车轮=(WheelView)findViewById(id);
wheel.setAdapter(新阵列WheelLadapter(wheelMenu3));
车轮。设置可见项目(2);
wheel.setCurrentItem(0);
wheel.addChangingListener(changedListener);
wheel.addScrollingListener(scrolledListener);
}
/**
*按Id返回控制盘
*
*@param-id
*车轮Id
*@返回已通过Id的车轮
*/
私人WheelView getWheel(内部id)
{
返回(WheelView)findViewById(id);
}
/**
*测试车轮值
*
*@param-id
*车轮Id
*@param值
*要测试的值
*@如果车轮值等于通过值,则返回true
*/
私有int getWheelValue(int id)
{
返回getWheel(id).getCurrentItem();
}
}
xml布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/layout_bg">
<LinearLayout
android:layout_marginTop="24dp"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.example.wheel.WheelView
android:id="@+id/p1"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
<com.example.wheel.WheelView
android:id="@+id/p2"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
<com.example.wheel.WheelView
android:id="@+id/p3"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp">
<EditText
android:id="@+id/r1"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_gravity="center_horizontal"
android:textSize="18sp"
android:textColor="#000">
</EditText>
<EditText
android:id="@+id/r2"
android:layout_width="80dip"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_gravity="center_horizontal"
android:textSize="18sp"
android:textColor="#000">
</EditText>
<EditText
android:id="@+id/r3"
android:layout_width="80dip"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_gravity="center_horizontal"
android:textSize="18sp"
android:textColor="#000">
</EditText>
</LinearLayout>
<TextView
android:id="@+id/result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_gravity="center_horizontal"
android:textSize="18sp"
android:textColor="#FFF"
android:text="Your choice">
</TextView>
</LinearLayout>
尝试使用车轮选择器尝试此链接这将对您有所帮助