android之Layout(二)
16lz
2021-01-25
续上
FrameLayout:框架布局
先看效果:
这是只设置Layout布局管理器中的文件的效果图
直接通过代码动态生成的效果图
Layout中的xml文件
- <FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <ImageView
- android:id="@+id/imageview"
- 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文件
- packagecom.cheng.framelayoutproject;
- importandroid.os.Bundle;
- importandroid.app.Activity;
- importandroid.graphics.Color;
- importandroid.view.Menu;
- importandroid.view.ViewGroup;
- importandroid.widget.Button;
- importandroid.widget.FrameLayout;
- importandroid.widget.ImageView;
- importandroid.widget.TextView;
- publicclassMainActivityextendsActivity{
- privateTextViewmTextView;
- privateImageViewmImageView;
- privateButtonmButton;
- @Override
- protectedvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- //定义FrameLayout布局管理器
- FrameLayoutmFrameLayout=newFrameLayout(MainActivity.this);
- FrameLayout.LayoutParamsfParams=newFrameLayout.LayoutParams(
- ViewGroup.LayoutParams.FILL_PARENT,
- ViewGroup.LayoutParams.FILL_PARENT);
- //定义三个组件
- mImageView=newImageView(MainActivity.this);
- mButton=newButton(MainActivity.this);
- mTextView=newTextView(MainActivity.this);
- //定义组件的布局参数
- FrameLayout.LayoutParamsviewpParams=newFrameLayout.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
- publicbooleanonCreateOptionsMenu(Menumenu){
- //Inflatethemenu;thisaddsitemstotheactionbarifitispresent.
- getMenuInflater().inflate(R.menu.main,menu);
- returntrue;
- }
- }
ok,FrameLayout布局和LinearLayout布局基本上差不多。
更多相关文章
- 【Android】Activity之间传递信息
- Android基于ViewPager+Fragment实现左右滑屏效果的方法
- android 自定义带进度值的圆形进度条
- 最近阶段工作相关总结,微信支付/应用商店/FileDownLoader/编码转
- Android(安卓)Studio学习路程(6)
- UI布局之selector layer-list
- 日期控件Android(安卓)自定义日历控件
- android自定义TextView(一)
- Android(安卓)自定义view仿微信相机单击拍照长按录视频按钮