如何在另一项活动中显示新活动?

时间:2012-10-10 09:55:27

标签: android

我有一个显示两个按钮的活动,点击通话按钮我想显示另一个活动,如图所示。

how to show this kind of layout

请帮助。如何实现这一目标

3 个答案:

答案 0 :(得分:0)

实现此目的的一种方法是使用自定义布局添加到具有viewgroup的每个活动中:

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);

然后你只需要实现你的听众以及更进一步的内容:)

答案 1 :(得分:0)

您需要创建这两个按钮的xml文件,并使用Layout Inflator将新的xml添加到旧的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);

答案 2 :(得分:0)

您可以使用弹出功能在功能中添加此功能。 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
            }
        }
    }