续上
FrameLayout:框架布局
先看效果:
这是只设置Layout布局管理器中的文件的效果图
直接通过代码动态生成的效果图
Layout中的xml文件
- <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <ImageView
- android:id="@+id/p_w_picpathview"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/cocos2d"/>
- <TextView
- android:id="@+id/textview"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="@string/hello_world"
- android:textSize="30dp"/>
- <Button
- android:id="@+id/button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Click"
- android:textSize="30dp"/>
- </FrameLayout>
通过代码动态生成的,这种只设置Activaty.java文件
- package com.cheng.framelayoutproject;
- import android.os.Bundle;
- import android.app.Activity;
- import android.graphics.Color;
- import android.view.Menu;
- import android.view.ViewGroup;
- import android.widget.Button;
- import android.widget.FrameLayout;
- import android.widget.ImageView;
- import android.widget.TextView;
- public class MainActivity extends Activity {
- private TextView mTextView;
- private ImageView mImageView;
- private Button mButton;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //定义FrameLayout布局管理器
- FrameLayout mFrameLayout = new FrameLayout(MainActivity.this);
- FrameLayout.LayoutParams fParams = new FrameLayout.LayoutParams(
- ViewGroup.LayoutParams.FILL_PARENT,
- ViewGroup.LayoutParams.FILL_PARENT);
- //定义三个组件
- mImageView = new ImageView(MainActivity.this);
- mButton = new Button(MainActivity.this);
- mTextView = new TextView(MainActivity.this);
- //定义组件的布局参数
- FrameLayout.LayoutParams viewpParams = new FrameLayout.LayoutParams(
- ViewGroup.LayoutParams.WRAP_CONTENT
- ,ViewGroup.LayoutParams.WRAP_CONTENT);
- //设置ImageView
- mImageView.setImageResource(R.drawable.cocos2d);
- //设置Button
- mButton.setBackgroundColor(Color.RED);
- mButton.setText("Click");
- mButton.setTextSize(25);
- //设置TextView
- mTextView.setText("FrameLayoutTest");
- mTextView.setTextSize(25);
- //向布局管理器重添加组件
- mFrameLayout.addView(mImageView, viewpParams);
- mFrameLayout.addView(mButton, viewpParams);
- mFrameLayout.addView(mTextView, viewpParams);
- //添加布局管理器
- super.setContentView(mFrameLayout,fParams);
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- }
ok,FrameLayout布局和LinearLayout布局基本上差不多。