首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在屏幕上的任意位置添加N个ImageViews。因为AbsoluteLayout已被弃用

在屏幕上的任意位置添加N个ImageViews可以通过以下步骤实现:

  1. 创建一个布局容器,例如LinearLayout、RelativeLayout或ConstraintLayout,用于容纳ImageViews。
  2. 在布局文件中声明布局容器,并设置其宽度和高度。
  3. 在代码中获取布局容器的引用。
  4. 使用循环创建N个ImageViews,并设置它们的属性,例如图片资源、宽度、高度等。
  5. 将每个ImageView添加到布局容器中,可以使用布局容器的addView()方法。
  6. 设置每个ImageView的位置,可以使用布局容器的LayoutParams,并设置其位置属性,例如左上角、右上角、居中等。
  7. 最后,将布局容器添加到Activity或Fragment的视图层级中,以显示在屏幕上。

以下是一个示例代码,使用ConstraintLayout作为布局容器:

代码语言:txt
复制
// 在布局文件中声明ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- 其他视图组件 -->

</androidx.constraintlayout.widget.ConstraintLayout>
代码语言:txt
复制
// 在代码中获取布局容器的引用
ConstraintLayout container = findViewById(R.id.container);

// 使用循环创建N个ImageViews,并设置属性
for (int i = 0; i < N; i++) {
    ImageView imageView = new ImageView(this);
    imageView.setImageResource(R.drawable.image); // 设置图片资源
    imageView.setLayoutParams(new ConstraintLayout.LayoutParams(
            ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT));

    // 设置每个ImageView的位置
    ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) imageView.getLayoutParams();
    layoutParams.leftToLeft = ConstraintLayout.LayoutParams.PARENT_ID; // 左对齐
    layoutParams.topToTop = ConstraintLayout.LayoutParams.PARENT_ID; // 上对齐
    layoutParams.leftMargin = i * 100; // 设置水平间距
    layoutParams.topMargin = i * 100; // 设置垂直间距

    // 将ImageView添加到布局容器中
    container.addView(imageView);
}

这样,就可以在屏幕上的任意位置添加N个ImageViews。请注意,以上示例中使用了ConstraintLayout作为布局容器,你也可以根据实际需求选择其他布局容器。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android开发之AbsoluteLayout绝对布局

Android开发之AbsoluteLayout绝对布局         AbsoluteLayout绝对布局已经被弃用,但是相关API依然有效,其又被称为坐标布局,在iOS开发支持Autolayout...但是iPhone设备的屏幕尺寸有限,使用绝对不觉并不会出现太多难以解决的问题,但是对于Android设备就不同了,Android设备的屏幕尺寸和分辨率都无规范,使用坐标绝对布局的缺陷就十分明显。        ...AbsoluteLayout直接通过定位其内部视图的位置坐标点和尺寸来进行布局,后添加的视图优先级更高,如果坐标有重合,会覆盖先添加的视图,示例代码如下: @Override protected..."第1个textView"); //需要注意 这里的LayoutParams()构造方法中的参数 前两个参数为视图的宽和高 后两个为x与y位置坐标点 textView1....其实布局容器中子视图的布局参数主要有定义在各个布局容器类的内部类LayoutParams来设置。需要注意,在不同分辨率的屏幕上,使用AbsoluteLayout布局效果可能会难于把控。

47330
  • Xamarin 学习笔记 - Layout(布局)

    ,我们将两个按钮组合成一个水平堆叠效果(如第一张图片所示)。...End:该选项和Start刚好相反,将View放置在布局的结束位置。 Fill:该选项将View撑满布局,不留白。 Center:该选项将视图放置在布局的正中。 视图是如何在父视图中对齐的? ?...有时,你可能希望更多地控制屏幕上某个对象的位置,比如说,你希望将它们锚定到屏幕的边缘,或者希望覆盖住多个元素。 在AbsoluteLayou中,我们会使用最重要的四个值以及八个设置选项。...与AbsoluteLayout类似,在使用RelativeLayout时,我们可以将元素叠加在一起,但是它比AbsoluteLayout更加强大,因为你可以将相对于另一个元素的位置或大小的约束应用于一个元素...在以上示例中,颜色为Yellow Green的BoxView将不显示,然后我们向其中添加一个ScrollView,通过滚动,我们就可以看到全部的内容。

    1.6K20

    六大布局之非常用布局

    上一次我们讲到了RelativeLayout,相信不少小伙伴已经着手实战,那么今天我们为大家带来六大布局中剩下的三个布局。...(绝对布局), 之所以把这个放到最后,是因为绝对布局,我们基本上都是不会使用的,当然你也可以直接跳过这一 篇博文,不过作为一个喜欢增长姿势的程序员,我们还是可以了解这个AbsoluteLayout布局的...放入该布局的UI控件通过android:layout_x 和 android:layout_y 两个属性指定其准确的坐标值,并显示在屏幕上。...理论上,AbsoluteLayout布局可用以完成任何的布局设计,灵活性很大,但是在实际的工程应用中不提倡使用这种布局。...因为使用这种布局不但需要精确计算每个组件的大小,增大运算量,而且当应用程序在不同屏幕尺寸的手机上运行时会产生不同效果。

    1.6K10

    【Android开发基础系列】Layout布局专题

    1.1.1 Android的屏幕元素体系         在屏幕中控件的组织上,可以将各个视图(控件)组成一个视图组(ViewGroup),视图组是一个包含了 其他视图的视图。        ...Android GUI程序的屏幕体系结构的组织遵循以下原则:一个屏幕可以包含一个视图,视图组本身也是一个视图,视图组可以包含若干个视图。         ...1.2 布局(Layout)         布局(Layout)是各个控件在屏幕上的位置关系,视图组的几个扩展类与布局相关。...,即垂直的或者水平的;         AbsoluteLayout(绝对布局):让子视图使用x/y坐标确定在屏幕上的位置;         RelativeLayout(相对布局):让子视图的位置和其他的视图相关...所有添加到这个布局中的视图都以层叠的方式显示。第一个添加的控件被放在最底层,最后一个添加到框架布局中的视图显示在最顶层,上一层的控件会覆盖下一层的控件。这种显示方式有些类似于堆栈。

    38020

    C#使用Xamarin开发可移植移动应用(2.Xamarin.Forms布局,本篇很长,注意)附源码

    因为本章主要讲布局,所以用这个会比较方便,不用每次都运行调试. 嗯,这个工具.大家凑合用 - -,因为它本身比较麻烦且会有莫名BUG,不过用顺畅了 还不错....它会根据屏幕的大小,和你布局中其他的内容,如果有空白位置就会由设置了AndExpand的自动填充....下面我们就来详细的讲解一下绝对定位布局相关的属性. 我们如果在AbsoluteLayout中添加控件,会发现,所有的控件,都会多出一个命名空间,下面有2个属性,如下: ?...讲解这2个属性之前,我们需要了解AbsoluteLayout中的2个概念,一个叫做比例值,一个叫绝对值....Constant – 你要调整的属性值,因为上面只能设置比例,所以通过这个属性来微调位置,设置负数就是减去你设置的值,正数就是加 ElementName – 你要相对的控件的Name,例如:ElementName

    2.3K70

    几乎不用但要了解的AbsoluteLayout绝对布局

    一、认识AbsoluteLayout 绝对布局需要通过指定x、y坐标来控制每一个控件的位置,放入该布局的控件需要通过android:layout_x和android:layout_y 两个属性指定其准确的坐标值...,并显示在屏幕上。...需要注意的是当使用AbsoluteLayout作为布局容器时,布局容器不再管理子组件的位置和大小,都需要开发人员自己控制。使用绝对布局时,每个子组件都可指定如下两个XML属性。...layout_x:指定该子组件的X坐标。 layout_y:指定该子组件的Y坐标。 二、示例 接下来通过一个简单的示例程序来学习AbsoluteLayout的使用用法。...因为使用这种布局不但需要精确计算每个组件的大小,而且当应用程序运行在不同屏幕的手机上产生的效果也不相同,因此,一般不推荐使用绝对布局。

    84490

    浅谈 Android 屏幕适配

    几组概念 分辨率 屏幕上物理像素的总数。添加对多种屏幕的支持时, 应用不会直接使用分辨率;而只应关注通用尺寸和密度组指定的屏幕尺寸及密度。 屏幕尺寸: 按屏幕对角测量的实际物理尺寸。...密度无关像素等于 160 dpi 屏幕上的一个物理像素,这是 系统为“中”密度屏幕假设的基线密度。在运行时,系统 根据使用中屏幕的实际密度按需要以透明方式处理 dp 单位的任何缩放 。...无论屏幕的当前方向如何,您均可使用此限定符确保应用 UI 的可用宽度至少为 N>dp。...不要在应用代码中使用硬编码的像素值 不要使用 AbsoluteLayout(已弃用), 而是考虑线性布局使用权重分配宽高, support库中约束布局, 可以是布局更加扁平化 为不同屏幕密度提供替代位图可绘制对象...动态设置 有一些情况下,我们需要动态的设置控件大小或者是位置,比如说 popwindow 的显示位置和偏移量等,这个时候我们可以动态的获取当前的屏幕属性,然后设置合适的数值 使用官方百分比布局 dependencies

    1.4K10

    移动开发(六):.NET MAUI中布局笔记介绍

    你可以使用设备无关的单位来指定子项相对于 AbsoluteLayout 左上角的位置。这种布局还支持按比例定位和调整大小,这意味着你可以根据屏幕大小或容器尺寸来动态调整子项的位置和大小。...与 .NET MAUI 中的其他布局不同,AbsoluteLayout 允许子项相互重叠。因此,它适用于那些需要精确控制子项位置的场景,比如创建复杂的界面元素或动画效果。...不过,由于它不自动调整子项的位置以避免重叠,所以在大多数常规布局需求中并不常用。当你知道子项的大小或不需要考虑子项之间的相互影响时,AbsoluteLayout 是一个很好的选择。...该属性允许您指定子元素相对于其父 AbsoluteLayout 的位置和尺寸。...这意味着你可以把一个数据列表绑定到这个布局上,然后布局会根据数据集中的每一项自动生成对应的视图组件。

    25410

    自定义广告图片轮播View——CarouselView

    因为一个广告机的需求,需要做一个广告轮播的效果,不需要什么特别的动画,正常的轮播就可以了。笔者看了网上很多文章,要么不好用,要么就是效果太多,太复杂,用不上。...索性自己写了一个简单的View,可以支持普通的广告轮播,目的在轻量级,使用简单。 效果图: ?...方法,这里虽然效果是轮播,单从代码逻辑来讲,是将图片*n然后按顺序排成一排,然后每次展示下一幅图。...@Override public void onPageSelected(int position) { //当前的位置可能很大,为了防止下标越界,对要显示的图片的总数进行取余...@Override public void onPageSelected(int position) { //当前的位置可能很大,为了防止下标越界,对要显示的图片的总数进行取余

    1.9K20

    Android精通:布局篇

    对象组成的,表格布局以行列的形式管理子控件,每一个单元是一个TableRow或者View对象。...AbsoluteLayout绝对布局 AbsoluteLayout绝对布局是通过x,y位置来为子控件设置位置的,即android:layout_x和android:layout_y属性。...由于绝对布局不常见,不常用,因为在不同大小的适配屏幕上的位置直观上会变化,适应能力差,所以不建议使用。...RelativeLayout相对布局 RelativeLayout是一个相对布局的视图组,用来显示相对位置的子视图类,在默认情况下,所有子视图对会分布在左上角。...绝对布局: 指子控件通过绝对定位x,y位置来决定其位置摆放。 表格布局: 指以行列的形式放置子控件,每一行是一个TableRow对象或者View对象。

    2.1K40

    Android精通:TableLayout布局,GridLayout网格布局,FrameLayout帧布局,AbsoluteLayout绝对布局,RelativeLayout相对布局

    ,如果屏幕的额宽度包容不下的话,就会拿第二列进行收缩,就是压扁,拉长。...效果 AbsoluteLayout绝对布局 AbsoluteLayout绝对布局是通过x,y位置来为子控件设置位置的,即android:layout_x和android:layout_y属性。...四大控制属性.png 由于绝对布局不常见,不常用,因为在不同大小的适配屏幕上的位置直观上会变化,适应能力差,所以不建议使用。...RelativeLayout相对布局 RelativeLayout是一个相对布局的视图组,用来显示相对位置的子视图类,在默认情况下,所有子视图对会分布在左上角。...绝对布局: 指子控件通过绝对定位x,y位置来决定其位置摆放。 表格布局: 指以行列的形式放置子控件,每一行是一个TableRow对象或者View对象。

    4.1K20

    Android六大布局

    --是本元素所有子元素的对齐方式,设置在父元素上,多个值用|隔开--> android:padding="10dp" <!...FrameLayout(帧布局) FrameLayout(帧布局)可以说是五大布局中最为简单的一个布局,这个布局会默认把控件放在屏幕上的左上角的区域,后续添加的控件会覆盖前一个,如果控件的大小一样大的话...://www.runoob.com/w3cnote/android-tutorial-relativelayout.html AbsoluteLayout(绝对布局) 直接就可以决定子组件的绝对位置...,简单直接就可以定位,但是手机的屏幕不一样大,适配性差; 可以直接用Android:layout_x和android:layout_y来定义组件的位置(两个属性只能在绝对布局中使用,在相对布局中都不会显示的...不能跨行跨列,因为TableLayout,不明确指定包含多少行,多少列,而是通过向TableRow里面添加其他组件,每添加一个组件该表格就增加一列 运用TableLayout只能通过添加TableRow

    2.6K20

    笔记——RemoteViews远程View(十四)

    2.桌面小部件则是通过AppWidgetProvider来实现的,AppWidgetProvider本质上是一个广播。...3.通知栏和桌面小部件的开发过程中都会用到RemoteViews,它们在更新界面时无法像在Activity里面那样去直接更新View,这是因为二者的界面都运行在其他进程中,确切来说是系统的SystemServer...为了跨进程更新界面,RemoteViews提供了一系列set方法去实现基础操作(如设置内容text,背景图片,点击事件等),并且这些方法只是View全部方法的子集。...(已弃用) TextView、Button、ImageView、ImageButton、Chronometer、ProgressBar、ListView、GridView、StackView、ViewFlipper...、AdapterViewFlipper、ViewStub、AnalogClock(已弃用)

    1.3K20

    Android应用界面开发——布局

    UI = 控件 + 布局,上一节介绍的是简单控件,这里主要介绍一下Android应用界面开发中的布局。 五大布局 LinearLayout:线性布局。 RelativeLayout:相对布局。...RelativeLayout 相对布局容器内子组件的位置总是相对兄弟组件、父容器来决定的。...FrameLayout 帧布局容器为每个加入其中的组件创建一个空白的区域(称为一帧),每个子组件占据一帧,这些帧都会根据gravity属性执行自动对齐。...TableLayout 表格布局继承了LinearLayout,因此它的本质依然是线性布局。 表格布局通过添加TableRow、其他组件来控制表格的行数和列数。...AbsoluteLayout 运行Android应用的手机往往千差万别,因此屏幕大小、分辨率都有可能有很大差异,使用绝对布局很难兼顾不同屏幕大小、分辨率问题,因此AbsoluteLayout布局已经过时

    1.4K20
    领券