我有一个显示两个按钮的活动,单击呼叫按钮我想显示另一个活动,如图所示。
请帮助。如何实现这一点
一种方法是拥有一个自定义布局,您可以使用视图组将其添加到每个活动中:
private View view;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ViewGroup parent = (ViewGroup) findViewById(R.id.linearLayout1);
view = LayoutInflater.from(getBaseContext()).inflate(R.layout.custom_layout,
null);
parent.addView(view);
然后你只需要实现你的听众和其他的东西:)
您需要创建这两个按钮的 xml 文件,并使用 Layout Inflator 将新的 xml 添加到旧的中。例如 1) 你的新 xml
LayoutInflator buttons = LayoutInflater.from(getBaseContext()).inflate(R.layout.buttons,
currentxml, false);
2) 通过 id 引用的旧 xml 父级 -->
RelativeLayout relativeLayout = (RelatveLayout) findViewById(R.id.oldxml);
3)现在添加..
relativeLayout.addView(buttons);
你可以通过在你的函数中添加这个来使用弹出窗口。Popuser 是一个xml
你想要膨胀的文件。
public void popupshow(){
try{
LayoutInflater inflater=(LayoutInflater)SRSDMain.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Display display=getWindowManager().getDefaultDisplay();
int width=display.getWidth()/2;
int height=display.getHeight()/2;
View pop=inflater.inflate(R.layout.popupuser,null,false);
pop.measure(View.MeasureSpec.UNSPECIFIED,View.MeasureSpec.UNSPECIFIED);
height=pop.getMeasuredHeight();
width=pop.getMeasuredWidth()+50;
pu=new PopupWindow(pop,width,height,true);
pu.showAtLocation(findViewById(R.id.ll3),Gravity.CENTER,1,1);
Button btn=(Button)pu.getContentView().findViewById(R.id.button);
btn.getBackground().setColorFilter(new LightingColorFilter(0xFF505450,0xFF101010));
btn.setTextColor(Color.WHITE);
btn.setTypeface(null,Typeface.BOLD);
btn.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
//anything you want to do
pu.dismiss();
}
});
}
catch(Exception ex){
//Catch The Exception
}
}
}