正如標題所說,我需要重置一個視圖,它是TextView
,ImageView
和其他到它的初始狀態。例如,在觸摸該特定視圖後,動畫播放及其動畫會破壞(視覺)該視圖。如何在此動畫之後休息/初始化視圖?
現在我需要重新繪製一遍。希望你明白了。我也使用了https://github.com/tyrantgit/ExplosionField的ExplosionField效果。我已經運行了代碼,它正在工作。
下面是代碼:
private ExplosionField mExplosionField;
private TextView tv_1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv_1 = (TextView)findViewById(R.id.mytext_xml);
mExplosionField = ExplosionField.attach2Window(this);
addListener(findViewById(R.id.root));
}
private void addListener(View root) {
// TODO Auto-generated method stub
if (root instanceof ViewGroup) {
ViewGroup parent = (ViewGroup) root;
for (int i = 0; i < parent.getChildCount(); i++) {
addListener(parent.getChildAt(i));
}
} else {
root.setClickable(true);
root.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mExplosionField.explode(v);
v.setOnClickListener(null);
}
});
}
}
現在,請按 「action_reset」 必須繪製的TextView從開始。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_reset) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
我知道後「如果(ID == R.id.action_reset)」所需的代碼去,但我已經試過我已經通過互聯網發現了幾個辦法,但沒有一次成功。
注: 請到https://github.com/tyrantgit/ExplosionField和考慮的例子。我需要知道如何通過按下按鈕重新繪製。
嗨,這裏消滅並不意味着物體破壞。如果你轉到上面提到的鏈接,你將會有更好的理解。此外,我已經嘗試了你所說的任何事情,不幸的是現在已經吸引了這種觀點 – SDG69
我更新了我的答案。看看它。 – Henry
這是完美的。順便說一句,我當時並沒有意識到它 - _o。怪異!無論如何,謝謝。 – SDG69