想问一下怎么样在android 中读取xml来自动生成界面

解决方案 »

  1.   

    找一个源码看一下res中的xml文件你就明白了!
      

  2.   

    setcontentview(xml文件名)这个很简单的
      

  3.   

    楼主看看这篇文章写的很详细噢。
    http://blog.csdn.net/xys289187120/article/details/6611624
      

  4.   

    setContentView(R.layout.main);这里的main就是个xml文件啊。
      

  5.   

    各位兄弟
    小弟可能没把需求描述清楚我想问一下,我先配置一个xml文件,它是我要进行的业务,例如登陆之后,有一个界面a,a中有两个功能,一个学生管理,一个配置管理,学生管理包括学生的信息,一个提交按钮,和取消按钮,
    我是想把这个业务不事先画出界面,而是在程序运行中读取我配置的xml文件来动态生成界面a,和学生管理界面,和配置管理界面。
    不知道能不能用代码实现,希望各位有这方面经验的能不能告诉我一下。
    本人不胜感激
      

  6.   

    把业务需求配置在string.xml中。动态生成界面 参考
    http://blog.163.com/handeng@126/blog/static/1691550052010111604727794/
    http://www.cnblogs.com/vir56k/archive/2011/06/23/2087907.html
      

  7.   

    我们跟踪setContentView就知道了。可以发现activity其实把这个操作交给了自己的mWindow来完成,通过跟踪PhoneWindow中的setContentView函数可以得出以下知识:1,每一个PhoneWiondow中都有一个叫DecorView的对象,该对象是该PhoneWiondow的框架view,可以找到这么一段代码:View in = mLayoutInflater.inflate(layoutResource, null);decor.addView(in, new ViewGroup.LayoutParams(FILL_PARENT, FILL_PARENT));该layoutResource则是资源ID,通过往上翻代码就可以找得到。2,一个PhoneWiondow中都有一个叫FrameLayout的对象mContentParent,该对象是从上述layoutResource中的布局xml中获得的,这也将是activity中所有用户新增加view都会被包含在这个对象当中。总体可以这样大致说明:一个activity包含有一个PhoneWiondow对象,而所有的UI部件都是放在PhoneWiondow中。
      

  8.   

    应该是在你的xml文件中设置两个按钮的控件吧~~
    在空间上显示你要的内容
    然后再activity中用setContentView(R.layout.main);//这个好像是eclipse自动加载的,LZ不需要改的吧
      

  9.   

    好像这个不用代码生成的吧,如果你用eclipse开发的话,按new,然后有个android xml file,你点入去之后,可以看到有关layout,values等相关的选项生成的,而界面就属于layout。
      

  10.   

    通过这个方法可以动态引入布局
    LayoutInflater.from(this).inflate(R.layout.worknoteadd, null)
    layout.addView();
      

  11.   

    有一个方法是你可以用两个activity,第一个activity里面用timer计时,等到到了你想要展示画面的时候ji自动跳转到第二个activity,第二个activity里面setContentView(R.layout.main)
    第一个activity代码:
    public class SplashActivity extends Activity {
        Timer timer;
        long startTime;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.layout_splash);
    timer = new Timer(true);
            startTime = System.currentTimeMillis();
            timer.schedule(task, 0, 1);
    }
    private final TimerTask task = new TimerTask() {
            @Override
            public void run() {
             if (task.scheduledExecutionTime() - startTime ==2000) {//这里设置计时时间为2秒
                                     Message message = new Message();   
                                     message.what = 0;
                                     timerHandler.sendMessage(message);
                                     timer.cancel();
                                     this.cancel();
                                  }        }
       };
       private final Handler timerHandler = new Handler() {
           public void handleMessage(Message msg) {
                   switch (msg.what) {   
       case 0:
       
               SplashActivity.this.finish();
               Intent intent=new Intent();
               intent.setClass(SplashActivity.this, Game.class);//这里跳转到你要的界面
               startActivity(intent);
               break;
                   }   
                   super.handleMessage(msg);   
           }
    };}