首页
学习
活动
专区
工具
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从零单排系列三十二】《Android布局介绍——AbsoluteLayout

使用AbsoluteLayout优点是可以精确地控制视图位置和布局,适用于一些特定场景,比如创建自定义视图布局或实现某些特殊效果。...然而,由于Android设备多样性和不同屏幕尺寸存在,使用绝对坐标来布局视图可能会导致在不同设备显示效果不一致,可能会出现重叠、截断或遮挡情况。...注:已被,且不建议使用 二 AbsoluteLayout使用方法 <?xml version="1.0" encoding="utf-8"?...例如,android:layout_x="100dp" android:layout_y="200dp"将会把控件左上角放置在屏幕(100dp,200dp)位置。...例如,android:layout_x="-10dp"将会将控件左上角向左移动10dp。 四 总结 AbsoluteLayout已被,并不推荐在Android应用程序开发中使用。

18110

Android开发之AbsoluteLayout绝对布局

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

44530

Xamarin 学习笔记 - Layout(布局)

,我们将两按钮组合成一水平堆叠效果(第一张图片所示)。...End:该选项和Start刚好相反,将View放置在布局结束位置。 Fill:该选项将View撑满布局,不留白。 Center:该选项将视图放置在布局正中。 视图是如何在父视图中对齐? ?...有时,你可能希望更多地控制屏幕某个对象位置,比如说,你希望将它们锚定到屏幕边缘,或者希望覆盖住多个元素。 在AbsoluteLayou中,我们会使用最重要值以及八设置选项。...与AbsoluteLayout类似,在使用RelativeLayout时,我们可以将元素叠加在一起,但是它比AbsoluteLayout更加强大,因为你可以将相对于另一元素位置或大小约束应用于一元素...在以上示例中,颜色为Yellow GreenBoxView将不显示,然后我们向其中添加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(相对布局):让子视图位置和其他视图相关...所有添加到这个布局中视图都以层叠方式显示。第一添加控件被放在最底层,最后一添加到框架布局中视图显示在最顶层,一层控件会覆盖下一层控件。这种显示方式有些类似于堆栈。

28320

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

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

2.2K70

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

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

79590

浅谈 Android 屏幕适配

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

1.3K10

Android精通:布局篇

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

2K40

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

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

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

3.8K20

笔记——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.2K20

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

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

1.9K20

Android应用界面开发——布局

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

1.3K20
领券