我有这样的代码:
Button go_back_maps = (Button)findViewById(R.id.Button02);
go_back_maps.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
slide_down Fx = new slide_down();
setts.setVisibility(View.GONE);
Fx.slide_up(Awake.this, setts);
pick.setVisibility(View.VISIBLE);
Fx.slide_down(Awake.this, pick);
}
});
主要是:两种布局,地图和MapSettings,当用户在地图布局中设置标记并单击"继续"时,它会隐藏地图布局并带向上滑动动画,并显示MapSettings布局并带向下滑动动画。
我的问题是:当用户点击"返回"时,它会再次打开地图,当用户点击地图以改变标记时,它会对MapSettings布局按钮做出反应,这使得无法改变标记或与地图交互。
有什么问题吗?这些行是唯一负责在map和mapsettings之间切换的代码行。
有没有办法重载布局之类的?
顺便说一下,这是效果类:
public static void slide_down(Context ctx, View v){
Animation a = AnimationUtils.loadAnimation(ctx, R.anim.slide_down);
if(a != null){
a.reset();
if(v != null){
v.clearAnimation();
v.startAnimation(a);
}
}
}
public static void slide_up(Context ctx, View v){
Animation a = AnimationUtils.loadAnimation(ctx, R.anim.slide_up);
if(a != null){
a.reset();
if(v != null){
v.clearAnimation();
v.startAnimation(a);
}
}
}
}
你对这个问题的描述有点难以理解。
但是关于你的问题:
"有没有办法重新加载布局之类的?"
这里有一些需要考虑的事情:
1)您可以使用setContentView(R.layout.my_layout)
设置活动的布局,但请记住,在活动中多次调用setContentView()
有许多陷阱可以绊倒您。在之前的布局中,你对视图的任何引用都需要重置,为了安全起见,你应该在膨胀新视图之前完全删除所有现有视图。
2)你可以使一个布局无效,导致它被重新绘制。
ViewGroup vg = findViewById (R.id.my_layout);
vg.invalidate();