我有一个带有简单动画的android代码。基本上,在点按事件时,按钮从左上角移动到右下角,同时放大。我有方法,moveButton();和moveButtonBack();哪些是使用transitionManager实际移动按钮的方法。问题是,当我从我的
中调用这些方法时 public boolean onOptionsItemSelected(MenuItem item) { }
方法,该方法不被调用。我知道这不是我的方法的错,因为那些在点击事件上工作正常。请帮我弄清楚为什么我的moveButton()和moveButtonBack()方法没有被调用。我已经观看并阅读了几篇关于overFlowMenu的教程。
以下是我为菜单制作项目的xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="1"
app:showAsAction="never" />
<item
android:id="@+id/MoveButtonExecution"
android:orderInCategory = "2"
app:showAsAction = "never"
android:title = "Move button down!"
/>
<item
android:id="@+id/MoveButtonBackExecution"
android:orderInCategory = "3"
app:showAsAction = "never"
android:title = "Move button up!"
/>
</menu>
以下是应该调用方法的java代码:
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
Button myButton=(Button) findViewById(R.id.mybuttonid);
switch (item.getItemId()) {
case R.id.action_settings:
item.setTitle("THIS DOES NOTHING");
myButton.setText("No settings in animations");
myButton.setBackgroundColor(Color.GREEN);
case R.id.MoveButtonExecution:
myButton.setText("moving");
moveButton();
case R.id.MoveButtonBackExecution:
moveButtonBack();
myButton.setText("movingback");
}
如果您需要查看方法moveButton和moveButtonBack,请随时询问,但我再次确定方法不是问题。相反,我认为问题出在java代码中,我调用方法。非常感谢你的帮助,我真的很感激。