续上

FrameLayout:框架布局

先看效果:

这是只设置Layout布局管理器中的文件的效果图

android之Layout(二)_android Layout Frame 

直接通过代码动态生成的效果图

android之Layout(二)_android Layout Frame_02

Layout中的xml文件

 

  1. <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     android:layout_width="fill_parent" 
  3.     android:layout_height="fill_parent" 
  4.     > 
  5.     <ImageView   
  6.         android:id="@+id/p_w_picpathview" 
  7.         android:layout_width="wrap_content" 
  8.         android:layout_height="wrap_content" 
  9.         android:src="@drawable/cocos2d"/> 
  10.     <TextView 
  11.         android:id="@+id/textview" 
  12.         android:layout_width="wrap_content" 
  13.         android:layout_height="wrap_content" 
  14.         android:text="@string/hello_world"   
  15.         android:textSize="30dp"/> 
  16.     <Button   
  17.         android:id="@+id/button" 
  18.         android:layout_width="wrap_content" 
  19.         android:layout_height="wrap_content" 
  20.         android:text="Click" 
  21.         android:textSize="30dp"/> 
  22.  
  23. </FrameLayout> 

通过代码动态生成的,这种只设置Activaty.java文件

 

  1. package com.cheng.framelayoutproject;  
  2.  
  3. import android.os.Bundle;  
  4. import android.app.Activity;  
  5. import android.graphics.Color;  
  6. import android.view.Menu;  
  7. import android.view.ViewGroup;  
  8. import android.widget.Button;  
  9. import android.widget.FrameLayout;  
  10. import android.widget.ImageView;  
  11. import android.widget.TextView;  
  12.  
  13. public class MainActivity extends Activity {  
  14.     private TextView mTextView;  
  15.     private ImageView mImageView;  
  16.     private Button mButton;  
  17.     @Override 
  18.     protected void onCreate(Bundle savedInstanceState) {  
  19.         super.onCreate(savedInstanceState);  
  20.         //定义FrameLayout布局管理器  
  21.         FrameLayout mFrameLayout = new FrameLayout(MainActivity.this);  
  22.         FrameLayout.LayoutParams fParams = new FrameLayout.LayoutParams(  
  23.                 ViewGroup.LayoutParams.FILL_PARENT,   
  24.                 ViewGroup.LayoutParams.FILL_PARENT);  
  25.         //定义三个组件  
  26.         mImageView = new ImageView(MainActivity.this);  
  27.         mButton = new Button(MainActivity.this);  
  28.         mTextView = new TextView(MainActivity.this);  
  29.         //定义组件的布局参数  
  30.         FrameLayout.LayoutParams viewpParams = new FrameLayout.LayoutParams(  
  31.                 ViewGroup.LayoutParams.WRAP_CONTENT  
  32.                 ,ViewGroup.LayoutParams.WRAP_CONTENT);  
  33.         //设置ImageView  
  34.         mImageView.setImageResource(R.drawable.cocos2d);  
  35.         //设置Button  
  36.         mButton.setBackgroundColor(Color.RED);  
  37.         mButton.setText("Click");  
  38.         mButton.setTextSize(25);  
  39.         //设置TextView  
  40.         mTextView.setText("FrameLayoutTest");  
  41.         mTextView.setTextSize(25);  
  42.         //向布局管理器重添加组件  
  43.         mFrameLayout.addView(mImageView, viewpParams);  
  44.         mFrameLayout.addView(mButton, viewpParams);  
  45.         mFrameLayout.addView(mTextView, viewpParams);  
  46.         //添加布局管理器  
  47.         super.setContentView(mFrameLayout,fParams);  
  48.     }  
  49.  
  50.     @Override 
  51.     public boolean onCreateOptionsMenu(Menu menu) {  
  52.         // Inflate the menu; this adds items to the action bar if it is present.  
  53.         getMenuInflater().inflate(R.menu.main, menu);  
  54.         return true;  
  55.     }  
  56.  
  57. }  

ok,FrameLayout布局和LinearLayout布局基本上差不多。