如何在不使用tabHost的情况下使用按钮更改布局的一部分?

时间:2011-11-02 03:18:19

标签: android android-layout

我的程序的主要布局有三个部分:顶部,中部和底部。通过单击按钮,我希望屏幕的唯一中间部分改变,其他两个部分保持不变。所以它与标签布局类似但不使用tabHost我想通过imageview更改中段屏幕。

我尝试启动视图中包含的新活动,但失败了。还尝试加载包含所有三个部分的全新布局,但由于内存问题也失败了。

感谢您提前!

3 个答案:

答案 0 :(得分:1)

处理此要求的正确方法是使用片段。它可以通过包含android的兼容性库来使用,这是jar包含在android sdk文件夹中。 Here is a tutorial

如果它像简单视图之间的切换一样简单。您也可以使用视图鳍状肢。

答案 1 :(得分:1)

这很简单

第一种方法:

step 1: design common xml layout for top,mid,bottom.

step 2: every Activity you have to inflate or change the mid part .

    setContentView(R.layout.common_xml_layout);
        mid= (LinearLayout) findViewById(R.id.mid_view);
        mid.removeAllViews();
        LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View v = inflater.inflate(R.layout.Your_Inflate_Xml, null);
        mid.addView(v);

在第一种方法中,您必须完成活动。

第二种方法:

step 1: design common xml layout for top,mid,bottom.

step 2: Extends your MainActivity 


Your MainActivity-->public class MainActivity extends Activity 

Your subActivities-->public class subActivity extends MainActivity

答案 2 :(得分:0)

您应该使用片段来实现此目的。 对于v11或更高版本使用android.app.Fragment,并使用兼容性库Fragment for versions< 11。

这是一个关于如何在修改后的Notepad应用程序版本中使用片段的教程 Honeypad Tutorial