源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

android动态加载布局文件示例

  • 时间:2020-07-10 06:59 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:android动态加载布局文件示例
一、布局文件part.xml:
[u]复制代码[/u] 代码如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:paddingBottom="@dimen/activity_vertical_margin"     android:paddingLeft="@dimen/activity_horizontal_margin"     android:paddingRight="@dimen/activity_horizontal_margin"     android:paddingTop="@dimen/activity_vertical_margin"     tools:context=".MainActivity" >     <Button         android:id="@+id/button1"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_marginTop="64dp"         android:text="添加" />     <EditText         android:id="@+id/editText1"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:ems="10" >         <requestFocus />     </EditText> </RelativeLayout>
二、通过后台代码生成前台布局:
[u]复制代码[/u] 代码如下:
package com.example.codeui; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.view.LayoutInflater; import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; public class MainActivity extends Activity {     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         LinearLayout layout=new LinearLayout(this);         layout.setOrientation(LinearLayout.VERTICAL);//显示方向         //将view对象添加到布局界面         TextView textView =new TextView(this);         textView.setText("Hello Code UI");         ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(                 ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT);         //添加         layout.addView(textView,params);         //添加外部xml定义的布局         View view = getPartView();         layout.addView(view);           ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(                 ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT);         setContentView(layout, layoutParams);         //setContentView(R.layout.activity_main);         //采用代码编写效率高,但是很难维护     }     //通过加载xml文件将view添加到布局中     public View getPartView() {         //将xml布局文件生成view对象通过LayoutInflater         LayoutInflater inflater =(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);         //将view对象挂载到那个父元素上,这里没有就为null         return inflater.inflate(R.layout.part, null);     }     @Override     public boolean onCreateOptionsMenu(Menu menu) {         getMenuInflater().inflate(R.menu.main, menu);         return true;     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部