精华内容
下载资源
问答
  • 帧布局
    2020-07-06 19:40:45

    今天来说下 Android中几大布局中的FrameLayout, FrameLayout是几个布局中最简单的一个布局,我通常喜欢称它为最纯净的布局。在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。相同层级布局中 FrameLayout的效率也是最高的,占用内存相对来说也是较小的。
    先上布局文件

    <?xml version="1.0" encoding="utf-8"?>




    效果图:

    在这里插入图片描述

    帧布局没有什么特别要介绍的,这块看着好像元素都能重叠显示,是不是和

    RelativeLayout有些相似呢?其实不然,RelativeLayout那些子元素位置的属性在FrameLayout中是不能使用的。

    FrameLayout一般在设置Fragment的显示区域时使用。
    还有就是在Android中每一个Activity的跟布局都是一个FrameLayout

    Q/A

    Q 为啥FrameLayout介绍的这么简单?

    A 因为FrameLayout本来就简单
    Q 如果给Fragment设置容器的话我用RelativeLayout或者LinearLayout不是也可以吗?为啥还要使用FrameLayout?

    A 首先使用RelativeLayout或者LinearLayout是可以的,但是在开始的时候也说了 FrameLayout的效率是最高的,占用内存相对来说也是较小的。

    好了FrameLayout就介绍到这里

    代码只会按照你所写的方式运行,不会按照你想的方式运行

    更多相关内容
  • 帧布局的大小由子控件中最大的子控件决定,如果都组件都一样大的话,同一时刻就只能能看到最上面的那个组件了! 当然我们也可以为组件添加layout_gravity属性,从而制定组件的对其方式 帧布局在游戏开发方面用的比较多,...
  • 帧布局例程

    2018-06-09 09:13:08
    使用帧布局,使用线程周期性的变换TextView的背景色,使用android studio编译
  • New UI-布局之FrameLayout(帧布局)详解 ——转载请注明出处:coder-pig,欢迎转载,请勿用于商业用途!本节引言:FrameLayout(帧布局)可以说是六大布局中最为简单的一New UI-布局之FrameLayout(帧布局)详解——转载请注明...

    New UI-布局之FrameLayout(帧布局)详解 ——转载请注明出处:coder-pig,欢迎转载,请勿用于商业用途!本节引言:FrameLayout(帧布局)可以说是六大布局中最为简单的一

    New UI-布局之FrameLayout(帧布局)详解

    ——转载请注明出处:coder-pig,欢迎转载,请勿用于商业用途!

    小猪Android开发交流群已建立,欢迎大家加入,无论是新手,菜鸟,大神都可以,小猪一个人的

    力量毕竟是有限的,写出来的东西肯定会有很多纰漏不足,欢迎大家指出,集思广益,让小猪的博文

    更加的详尽,帮到更多的人,O(∩_∩)O谢谢!

    新Android UI实例大全目录:

    本节引言:

    FrameLayout(帧布局)可以说是六大布局中最为简单的一个布局,这个布局直接在屏幕上开辟出

    一块空白的区域,当我们往里面添加控件的时候,会默认把他们放到这块区域的左上角,而这种布局方式

    却没有任何的定位方式,所以它应用的场景并不多;帧布局的大小由控件中最大的子控件决定,如果控件

    的大小一样大的话,那么同一时刻就只能看到最上面的那个组件!后续添加的控件会覆盖前一个!

    虽然默认会将控件放置在左上角,但是我们也可以通过layout_gravity属性,指定到其他的位置!

    本节除了给大家演示一个最简单的例子外,还给大家带了两个好玩的例子,有兴趣的可以看看!

    正文:

    常用属性:

    FrameLayout的属性很少就两个,但是在说之前我们先介绍一个东西:

    前景图像:永远处于帧布局最上面,直接面对用户的图像,就是不会被覆盖的图片

    两个属性:

    android:foreground:设置改帧布局容器的前景图像

    android:foregroundGravity:设置前景图像显示的位置

    实例演示:

    1)最简单的demo:

    效果图:

    06174c4c2227cba05343fe128fc2ecfe.png

    代码如下:

    xmlns:tools=""

    android:id="@+id/FrameLayout1"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity"

    android:foreground="@drawable/logo"

    android:foregroundGravity="right|bottom">

    android:layout_width="200dp"

    android:layout_height="200dp"

    android:background="#FF6143" />

    android:layout_width="150dp"

    android:layout_height="150dp"

    android:background="#7BFE00" />

    android:layout_width="100dp"

    android:layout_height="100dp"

    android:background="#FFFF00" />

    代码解释:

    很简单,三个TextView设置不同大小与背景色,依次覆盖,接着右下角的是前景图像,通过

    android:foreground="@drawable/logo"设置前景图像的图片

    android:foregroundGravity="right|bottom"设置前景图像的位置在右下角

    2)随手指移动的萌妹子:

    效果图:

    75d717ac0cc2baf623b5f2db61761e1a.gif

    实现流程:

    step 1:先将main.xml布局设置为空白的FrameLayout,为其设置一个图片背景

    step 2:新建一个继承View类的MeziView自定义组件类,在构造方法中初始化view的初始坐标

    step 3:重写onDraw()方法,实例化一个空的画笔类Paint

    step 4:调用BitmapFactory.decodeResource()生成位图对象

    step 5:调用canvas.drawBitmap()绘制妹子的位图对象

    step 6:判断图片上是否回收,否则强制回收图片

    step 7:在主Java代码中获取帧布局对象,并且实例化一个MeziView类

    step 8:会实例化的mezi对象添加一个触摸事件的监听器,重写onTouch方法,改变mezi的X,Y坐标,调用invalidate()重绘方法

    step 9:将mezi对象添加到帧布局中

    实现代码如下:

    布局代码:main_activity.xml:

    xmlns:tools=""

    android:id="@+id/mylayout"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity"

    android:background="@drawable/back" >

    自定义的MeziView.java:

    package com.jay.example.framelayoutdemo2;

    import android.content.Context;

    import android.graphics.Bitmap;

    import android.graphics.BitmapFactory;

    import android.graphics.Canvas;

    import android.graphics.Paint;

    import android.view.View;

    public class MeziView extends View {

    //定义相关变量,依次是妹子显示位置的X,Y坐标

    public float bitmapX;

    public float bitmapY;

    public MeziView(Context context) {

    super(context);

    //设置妹子的起始坐标

    bitmapX = 0;

    bitmapY = 200;

    }

    //重写View类的onDraw()方法

    @Override

    protected void onDraw(Canvas canvas) {

    super.onDraw(canvas);

    //创建,并且实例化Paint的对象

    Paint paint = new Paint();

    //根据图片生成位图对象

    Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.s_jump);

    //绘制萌妹子

    canvas.drawBitmap(bitmap, bitmapX, bitmapY,paint);

    //判断图片是否回收,木有回收的话强制收回图片

    if(bitmap.isRecycled())

    {

    bitmap.recycle();

    }

    }

    }

    MainActivity.java:

    package com.jay.example.framelayoutdemo2;

    import android.os.Bundle;

    import android.view.MotionEvent;

    import android.view.View;

    import android.view.View.OnTouchListener;

    import android.widget.FrameLayout;

    import android.app.Activity;

    public class MainActivity extends Activity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    FrameLayout frame = (FrameLayout) findViewById(R.id.mylayout);

    final MeziView mezi = new MeziView(MainActivity.this);

    //为我们的萌妹子添加触摸事件监听器

    mezi.setOnTouchListener(new OnTouchListener() {

    @Override

    public boolean onTouch(View view, MotionEvent event) {

    //设置妹子显示的位置

    mezi.bitmapX = event.getX() - 150;

    mezi.bitmapY = event.getY() - 150;

    //调用重绘方法

    mezi.invalidate();

    return true;

    }

    });

    frame.addView(mezi);

    }

    }

    代码解释:

    见步骤,很简单,就是自定义一个View类,重写重绘方法,接着在Activity中为他添加一个触摸时间

    在触摸时间中重写onTouch方法获取点击焦点,另外还需要-150,不然那个坐标是自定义View的

    左上角,接着调用invalidate( )重绘方法,最后添加到真布局中而已!

    代码下载:

    3)跑动的萌妹子:

    效果图:

    bcb6be3327c708aac83ec71c7e3759e6.gif

    实现流程:

    step 1:定义一个空的FrameLayout布局,将前景图像的位置设置为中央位置

    step 2:在Activity中获取到该FrameLayout布局,新建一个Handler对象,重写handlerMessage()方法,调用图像更新的方法

    step 3:自定义一个move()方法,通过switch动态设置前景图片显示的位图

    step 4:在onCreate()方法中新建一个计时器对象Timer,重写run方法,每隔170毫秒向handler发送空信息

    实现代码如下:

    展开全文
  • Android FrameLayout ( 帧布局 )

    千次阅读 2021-06-02 21:41:36
    Android FrameLayout (帧布局) 直接在屏幕上开辟出一块空白的区域,当我们往里面添加控件的时候,会默认把它们放到这块区域的左上角FrameLayoutFrameLayout (帧布局) 有点类似于把零散的大小不一的纸按左上角对齐的...

    Android FrameLayout (帧布局) 直接在屏幕上开辟出一块空白的区域,当我们往里面添加控件的时候,会默认把它们放到这块区域的左上角

    FrameLayout

    FrameLayout (帧布局) 有点类似于把零散的大小不一的纸按左上角对齐的方式定成一本书一样

    0d75a986f73fe30df38708150c7b917b.png

    FrameLayout (帧布局) 有一个缺点就是没有任何的定位方式,所以应用的场景并不多

    FrameLayout size 大小

    帧布局的大小由控件中最大的子控件决定

    如果控件的大小一样大的话,那么同一时刻就只能看到最上面的那个组件,后续添加的控件会覆盖前一个

    帧布局默认会将控件放置在左上角,但是可以通过 android:layout_gravity 属性指定到其它

    FrameLayout 属性

    FrameLayout 自己的属性只有就两个

    属性

    说明

    android:foreground

    设置改帧布局容器的前景图像

    android:foregroundGravity

    设置前景图像显示的位置

    前景图像:永远处于帧布局最上面,直接面对用户的图像,就是不会被覆盖的图片

    范例

    首先创建一个 空的 Android 项目 cn.twle.android.FrameLayout

    最简单的帧布局

    6bbc18f3a9f0cc1165181175510ff64f.png

    首先下载 /static/i/meimei_160x360.jpg 放到 res/drawable 目录下并重命名为 meimei.jpg 作为前景图片

    然后修改 activity_main.xml 修改为 FrameLayout 布局并添加三个

    activity_main.xml

    xmlns:tools="http://schemas.android.com/tools"

    android:id="@+id/FrameLayout1"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context=".MainActivity"

    android:foreground="@drawable/meimei"

    android:foregroundGravity="right|bottom">

    android:layout_width="500dp"

    android:layout_height="300dp"

    android:background="#00ff00" />

    android:layout_width="150dp"

    android:layout_height="150dp"

    android:background="#ff0000" />

    android:layout_width="100dp"

    android:layout_height="100dp"

    android:background="#00ffff" />

    很简单,三个 设置不同大小与背景色,依次覆盖,接着右下角的是前景图像

    通过 android:foreground="@drawable/meimei" 设置前景图像的图片,

    通过 android:foregroundGravity="right|bottom" 设置前景图像的位置在右下角

    随手指点击移动的妹子

    0b55e6f69e5ec220d9c8affb8f14a5e2.gif

    创建一个 空的 Android 项目 cn.twle.android.FrameLayout

    下载 /static/i/android/meimei.zip,并将所有的图片拖动到 res/drawable 目录下

    如果你复用上面创建的项目,则需要将 meimei.jpg 删掉

    修改 activity_main.xml 为空白的 FrameLayout,为其设置一个图片背景 meimei.gif

    activity_main.xml

    android:id="@+id/mylayout"

    android:layout_width="match_parent"

    android:layout_height="match_parent">

    在 MainActivity.java 目录下新建一个继承 View 类的 MeiMeiView 自定义组件类

    在构造方法中初始化 view 的初始坐标

    重写 onDraw() 方法,实例化一个空的画笔类 Paint

    调用 BitmapFactory.decodeResource() 生成位图对象

    调用 canvas.drawBitmap() 绘制妹子的位图对象

    判断图片上是否回收,否则强制回收图片

    MeiMeiView.java

    package cn.twle.android.framelayout;

    import android.content.Context;

    import android.graphics.Bitmap;

    import android.graphics.BitmapFactory;

    import android.graphics.Canvas;

    import android.graphics.Paint;

    import android.view.View;

    public class MeiMeiView extends View {

    //定义相关变量,依次是妹子显示位置的X,Y坐标

    public float bitmapX;

    public float bitmapY;

    public MeiMeiView(Context context) {

    super(context);

    //设置妹子的起始坐标

    bitmapX = 0;

    bitmapY = 200;

    }

    //重写View类的onDraw()方法

    @Override

    protected void onDraw(Canvas canvas) {

    super.onDraw(canvas);

    //创建,并且实例化 Paint 的对象

    Paint paint = new Paint();

    //根据图片生成位图对象

    Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.meimei);

    //绘制妹子

    canvas.drawBitmap(bitmap, bitmapX, bitmapY,paint);

    //判断图片是否回收,木有回收的话强制收回图片

    if(bitmap.isRecycled())

    {

    bitmap.recycle();

    }

    }

    }

    修改 MainActivity

    获取帧布局对象,并且实例化一个 MeiMeiView 类

    实例化的 meimei 对象添加一个触摸事件的监听器,重写 onTouch() 方法,改变 meimei 的X,Y坐标,调用 invalidate() 重绘方法

    将 meimei 对象添加到帧布局中

    MainActivity.java

    package cn.twle.android.framelayout;

    import android.os.Bundle;

    import android.view.MotionEvent;

    import android.view.View;

    import android.view.View.OnTouchListener;

    import android.widget.FrameLayout;

    import android.app.Activity;

    public class MainActivity extends Activity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    FrameLayout frame = (FrameLayout) findViewById(R.id.mylayout);

    final MeiMeiView meimei = new MeiMeiView(MainActivity.this);

    //为我们的妹子添加触摸事件监听器

    meimei.setOnTouchListener(new OnTouchListener() {

    @Override

    public boolean onTouch(View view, MotionEvent event) {

    //设置妹子显示的位置

    meimei.bitmapX = event.getX() - 150;

    meimei.bitmapY = event.getY() - 150;

    //调用重绘方法

    meimei.invalidate();

    return true;

    }

    });

    frame.addView(meimei);

    }

    }

    跑动的妹子

    54499e206f00f6b921789516b96a3398.gif

    范例的要点在于使用定时器定时发送更新图片的消息

    创建一个 空的 Android 项目 cn.twle.android.FrameLayout

    修改 activity_main.xml 为空白的 FrameLayout , 将前景图像的位置设置为中央位置

    activity_main.xml

    android:id="@+id/myframe"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:foregroundGravity="center">

    修改 MainActivity

    获取 FrameLayout 布局

    自定义一个 move() 方法,通过 switch 动态设置前景图片显示的位图

    新建一个 Handler 对象,重写 handlerMessage() 方法,调用图像的更新的方法

    在 onCreate()方法中新建一个计时器对象 Timer,重写 run 方法,每隔 170 毫秒向 handler 发送空信息

    MainActivity.java

    package cn.twle.android.framelayout;

    import java.util.Timer;

    import java.util.TimerTask;

    import android.os.Bundle;

    import android.os.Handler;

    import android.os.Message;

    import android.view.View;

    import android.view.View.OnClickListener;

    import android.widget.FrameLayout;

    import android.app.Activity;

    import android.graphics.drawable.Drawable;

    public class MainActivity extends Activity {

    //初始化变量,帧布局

    FrameLayout frame = null;

    // 自定义一个用于定时更新 UI 界面的 handler类对象

    Handler handler = new Handler()

    {

    int i = 0;

    @Override

    public void handleMessage(Message msg) {

    //判断信息是否为本应用发出的

    if(msg.what == 0x123)

    {

    i++;

    move(i % 8 );

    }

    super.handleMessage(msg);

    }

    };

    //定义走路时切换图片的方法

    void move(int i)

    {

    Drawable a = getResources().getDrawable(R.drawable.m_1);

    Drawable b = getResources().getDrawable(R.drawable.m_2);

    Drawable c = getResources().getDrawable(R.drawable.m_3);

    Drawable d = getResources().getDrawable(R.drawable.m_4);

    Drawable e = getResources().getDrawable(R.drawable.m_5);

    Drawable f = getResources().getDrawable(R.drawable.m_6);

    Drawable g = getResources().getDrawable(R.drawable.m_7);

    Drawable h = getResources().getDrawable(R.drawable.m_8);

    //通过setForeground来设置前景图像

    switch(i)

    {

    case 0:

    frame.setForeground(a);

    break;

    case 1:

    frame.setForeground(b);

    break;

    case 2:

    frame.setForeground(c);

    break;

    case 3:

    frame.setForeground(d);

    break;

    case 4:

    frame.setForeground(e);

    break;

    case 5:

    frame.setForeground(f);

    break;

    case 6:

    frame.setForeground(g);

    break;

    case 7:

    frame.setForeground(h);

    break;

    }

    }

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    frame = (FrameLayout) findViewById(R.id.myframe);

    //定义一个定时器对象,定时发送信息给 handler

    new Timer().schedule(new TimerTask() {

    @Override

    public void run() {

    //发送一条空信息来通知系统改变前景图片

    handler.sendEmptyMessage(0x123);

    }

    }, 0,170);

    }

    }

    展开全文
  • FrameLayout(帧布局

    2022-01-02 23:37:49
    离父元素上边缘的距离 FrameLayout—帧布局 帧布局是最为简单的一种布局,该布局为每个加入其中的控件创建一个空白区域,称为一帧,每个控件占据一帧。采用帧布局时,所有控件都默认显示在屏幕左上角,并按照先后放...

    在这里插入图片描述

    如果将orientation的vertical设置成horizontal则会变成水平排列,如下图显示

    在这里插入图片描述

    可以使用layout_weight属性来设置每行控件的相对大小

    <?xml version="1.0" encoding="utf-8"?>

    <LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”

    android:orientation=“horizontal” android:layout_width=“match_parent”

    android:layout_height=“wrap_content”>

    <Button

    android:layout_width=“0dp”

    android:layout_height=“wrap_content”

    android:layout_weight=“1”

    android:text=“按钮1”/>

    <Button

    android:layout_width=“0dp”

    android:layout_height=“wrap_content”

    android:layout_weight=“1”

    android:text=“按钮2”/>

    <Button

    android:layout_width=“0dp”

    android:layout_height=“wrap_content”

    android:layout_weight=“1”

    android:text=“按钮3”/>

    在这里插入图片描述

    在layout_weight中我们设置它的占据权重为1,则总的权重为1+1+1=3,所以每个控件的所占大小就会是1/3,就会平均分掉这一行的布局。那当我们将其中一个控件的权重修改为2时,就会显示下图的结果。他们的权重比就会是1/4、1/4、2/4。

    在这里插入图片描述

    RelativeLayout—相对布局


    相对布局是通过相对定位的方式制定控件位置,即以其他的控件或父容器为参照物,摆放控件位置。在设计相对布局时要遵循控件之间的依赖关系,后放入的控件的位置要依赖于先放入的控件。

    <?xml version="1.0" encoding="utf-8"?>

    <RelativeLayout xmlns:android=“http://schemas.android.com/apk/res/android”

    android:layout_width=“match_parent” android:layout_height=“match_parent”

    android:paddingBottom=“20dp”>

    <Button

    android:layout_width=“wrap_content”

    android:layout_height=“wrap_content”

    android:layout_alignParentBottom=“true”

    android:text=“按钮1” />

    <Button

    android:id="@+id/btn_two"

    android:layout_width=“wrap_content”

    android:layout_height=“wrap_content”

    android:layout_centerHorizontal=“true”

    android:layout_marginTop=“260dp”

    android:text=“按钮2”/>

    <Button

    android:layout_width=“wrap_content”

    android:layout_height=“wrap_content”

    android:layout_alignBottom="@+id/btn_two"

    android:layout_marginBottom=“100dp”

    android:layout_toRightOf="@+id/btn_two"

    android:text=“按钮3”/>

    在这里插入图片描述

    上述代码中,“按钮1”通过 android:layout_alignParentBottom 属性指定当前控件位于布局底端,通过这两个属性的控制,“按钮1”距离底端的距离为20dp。

    “按钮2”通过 android:layout_centerHorizontal 属性指定它在父布局中水平居中,通过 android:layout_marginTop 属性指定当前控件上边缘与父布局顶部距离260dp。

    “按钮3”通过 android:layout_alignBottom 属性指定它与“按钮2”底部对齐,通过 android:layout_marginBottom属性指定距离“按钮2”底部100dp,android:layout_toRightOf 属性指定了它将被放在按钮2的右边。

    相对布局除了上面列出来的一些属性之外,还有其他很多的属性如下所示(参照 http://www.miui.com/thread-574167-1-1.html )

    相对于兄弟元素

    android:layout_below="@id/aaa":在指定View的下方

    android:layout_above="@id/xxx":在指定View的上方

    android:layout_toLeftOf="@id/bbb":在指定View的左边

    android:layout_toRightOf="@id/cccc":在指定View的右边

    相对于父元素

    android:layout_alignParentLeft=“true”:在父元素内左边

    android:layout_alignParentRight=“true”:在父元素内右边

    android:layout_alignParentTop=“true”:在父元素内顶部

    android:layout_alignParentBottom=“true”:在父元素内底部

    对齐方式

    android:layout_centerInParent=“true”:居中布局

    android:layout_centerVertical=“true”:水平居中布局

    android:layout_centerHorizontal=“true”:垂直居中布局

    android:layout_alignTop="@id/xxx":与指定View的上边界一致

    android:layout_alignBottom="@id/xxx":与指定View下边界一致

    android:layout_alignLeft="@id/xxx":与指定View的左边界一致

    android:layout_alignRight="@id/xxx":与指定View的右边界一致

    间隔

    android:layout_marginBottom=""; 离某元素底边缘的距离

    android:layout_marginLeft=""; 离某元素左边缘的距离

    android:layout_marginRight ="";离某元素右边缘的距离

    android:layout_marginTop=""; 离某元素上边缘的距离

    android:layout_paddingBottom=""; 离父元素底边缘的距离

    android:layout_paddingLeft=""; 离父元素左边缘的距离

    android:layout_paddingRight ="";离父元素右边缘的距离

    android:layout_paddingTop=""; 离父元素上边缘的距离

    FrameLayout—帧布局


    帧布局是最为简单的一种布局,该布局为每个加入其中的控件创建一个空白区域,称为一帧,每个控件占据一帧。采用帧布局时,所有控件都默认显示在屏幕左上角,并按照先后放入的顺序重叠摆放,先放入的将会在最底层,后放入的控件显示在最顶层。帧布局使用于图层设计。

    其中:foreground 属性设置帧布局容器的前景图像

    foregroundGravity 属性设置图像的显示位置

    <?xml version="1.0" encoding="utf-8"?>

    <FrameLayout xmlns:android=“http://schemas.android.com/apk/res/android”

    android:layout_width=“match_parent” android:layout_height=“match_parent”

    android:foreground="@mipmap/iclauncher"

    android:foregroundGravity=“left”>

    <Button

    android:layout_width=“300dp”

    android:layout_height=“450dp”

    android:text=“按钮1”/>

    <Button

    android:layout_width=“200dp”

    android:layout_height=“210dp”

    android:text=“按钮2”/>

    在这里插入图片描述

    TableLayout—表格布局


    <?xml version="1.0" encoding="utf-8"?>

    <LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”

    android:layout_width=“match_parent”

    android:layout_height=“match_parent”

    android:orientation=“vertical”

    <TextView

    android:id="@+id/text1"

    android:layout_width=“wrap_content”

    android:layout_height=“wrap_content”

    android:text=“①隐藏、收缩、扩展” />

    <TableLayout

    android:layout_width=“match_parent”

    android:layout_height=“wrap_content”

    android:collapseColumns=“2”

    android:shrinkColumns=“1”

    android:stretchColumns=“0”>

    <Button

    android:id="@+id/b1"

    android:text=“第一列可以行扩展” />

    <Button

    android:id="@+id/b2"

    android:text=“第二列可以列扩展” />

    <Button

    android:id="@+id/b3"

    android:text=“第三列是被隐藏的列” />

    <TextView

    android:id="@+id/text2"

    android:layout_width=“wrap_content”

    android:layout_height=“wrap_content”

    展开全文
  • 帧布局_霓虹灯

    2016-02-24 16:15:01
    "帧布局_霓虹灯"很好的介绍了Android布局中帧布局的常见属性的用法,是新手入门所必须要掌握的知识点,
  • 帧布局FrameLayout直接继承ViewGroup组件,帧布局容器每加入一个组件创建一个空白区域,每个组件占据一帧,添加的组件是一个一个叠在一起的。android:layout_width="fill_parent"android:layout_height="fill_parent...
  • 18帧布局-布局

    2015-10-14 10:12:31
    18帧布局,android学习实例,代码简洁,注释清楚
  • 创建日期:2016-02-11一、简介帧布局是显示多个层次图的有效手段。比如第3章介绍的百度地图就是利用帧布局来实现的,它将图层分为22级分别缓存到指定的文件夹下,程序根据用户对地图的放大程度,自动判断应该将哪一...
  • Android中的帧布局

    2021-06-19 16:22:38
    文章目录1 Android中的帧布局 1 Android中的帧布局 首先看下效果: 下面看下xml: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
  • 主要为大家详细介绍了Android布局之帧布局FrameLayout,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 本文实例讲述了Android开发实现布局帧布局霓虹灯效果。分享给大家供大家参考,具体如下: 效果图: 实现方式: FrameLayout中,设置8个TextView,在主函数中,设计颜色数组,通过有序替换他们颜色,实现渐变效果。 ...
  • 简介:LinearLayout 布局,中文线性布局,其主要特征是主要以水平火垂直方式来显示页面中的控件,水平:从左到右,垂直:从上到下,线性布局中,每行或者每列仅允许有一个子视图或者控件。 主要属性: android:...
  • 帧布局中控制组件位置 点击没反应事件冲突
  • Android移动应用开发 主讲李盼盼 帧布局 布局管理器 线性布 局 表 格 布 局 相 对 布 局 网 格 布 局 帧 布 局 帧布局的定义及使用 帧布局是五大布局中最简单的一个布局用FrameLayout类来表示在这种布局中整个屏幕被...
  • FrameLayout这个布局相对前面两节介绍的布局就简单了很多,因此它的应用场景也就特别的少。这种布局没有方便的定位方式,所有的控件都会默认摆放在布局的左上角。新建UILayoutTestThree工程,修改activity_main.xml...
  • Android应用开发之FrameLayout(帧布局)

    千次阅读 2022-03-29 17:27:34
    帧布局介绍
  • 024_UI_布局 之帧布局-表格布局视频教材,个人感觉讲解的比较详细,有兴趣的可以学习下哦!
  • Android布局深究(四)——FrameLayout(帧布局) Android布局深究(五)——GridLayout(网格布局)(暂定) Android布局深究(六)——AbsoluteLayout(绝对布局)(暂定) 目录Android布局深究系列文章目录前
  • 1.2 布局的种类:线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、表格布局(TableLayout)、网格布局(GridLayout)、约束布局(ConstraintLayout)其中三种不常用布局帧布局、...
  • 常见界面布局之FrameLayout(帧布局

    千次阅读 2020-07-04 10:05:22
    1.什么是FrameLayout(帧布局) FrameLayout (帧布局)用于在屏幕上创建一块空白区域,添加到该区域中的每个子控件占一帧,这些帧会一个一个叠加在一起,后加入的控件会叠加在上一个控件上层。默认情况下,帧布局中...
  • android studio 帧布局

    2020-10-10 22:36:06
    FrameLayout 帧布局 android:background="@color/colorAccent" 背景颜色 android:layout_gravity="center"/> 放置中间 <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android=...
  • [Android]FrameLayout(帧布局)

    千次阅读 2022-01-18 13:34:27
    FrameLayout又称作帧布局,它相比于LinearLayout和RelativeLayout要简单很多,因为它的应用场景也少了很多。这种布局没有方便的定位方式,所有的控件都会默认摆放在布局的左上角。 <TextView android:id="@+id/...
  • 1、表格布局(TableLayout) 表格布局就是让控件以表格的形式来排列组件的,只要将组件或信息放在单元格中,控件就可以整齐的排列。在TableLayout中,行数由TableRow对象控制的,即布局中有多少TableRow对象,就有...
  • Android Studio 的帧布局(Framelayout)

    千次阅读 2021-10-17 20:06:08
    1、帧布局相当于一张纸覆盖在另一张纸上 2、所有的控件都默认显示在屏幕左上方 3、在Framelayout下方设置帧布局容器的前景图像(始终在所有子控件之上)android:foreground =“一张图片或一种颜色” 设置前景图像...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,734
精华内容 25,093
关键字:

帧布局

友情链接: DOC2PDF.rar