android 如何向布局指定位置动态插入view

view是如何做到在光标处插入的?
如果用layout.addView(view child,int index),如果当前布局的所有view都是动态插入的,那这个index该怎么填?

0

2个回答

动态添加而且在光标之后的话,那么你选用的布局应该是RelativeLayout,可以给你新添加的view设置布局参数,实例化一个relativelayout,用参数定位你要添加的view的位置,然后调用view.setLayoutParams就可以了,当然最后别忘了添加到布局中

0
Arvin_ghost
Arvin_ghost 现在的问题是这样,比如我已经放入了1和2两个view,2在1下面,然后我想要在1和2之间插入3,设置params为在1下面,我现在只能获得焦点view,1的id,如何去更改2的params让它在3下面?
接近 4 年之前 回复

可以直接根据坐标定位的有RelativeLayout和AbsoluteLayout,前者较后者用起来有些麻烦,但后者现在不被推荐使用了。
步骤都是先new一个view,然后调用相应Layout的addView,参数1是view,参数2是对应layout类型的layoutparams
比如AbsoluteLayout就是AbsoluteLayout.LayoutParams,直接new一个这个类,然后里面有直接指定坐标的成员,赋值之后就传给addView。
RelativeLayout也类似,只是里面的参数多一些

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android任意指定位置动态增删View
我们经常会遇到需要动态增加删除view的情况, 通常使用   addView(addView); 方法来动态增加view,但是有个问题,这个方法会将新增的view默认加到布局界面的末尾, 也就是屏幕的最下方。 但是我们可能需要加载到顶端,或者不是最下方的位置,那么怎么实现呢? 大家可以把自己的想法写到留言区互相交流。 我这里想到一个很简单的实现方法,就是在布局文件中你希望动态新增...
Android 如何在代码中动态的添加View 及 指定位置
一些要点 DecorView 是android 界面的顶级View ,当前界面的整个即为DecorView。DecorView为FrameLayout,而DecorView 一般会包含一个竖直方向的LinearLayout。这个竖直方向的LinearLayout 一般分为两个部分(具体Android版本和主题有所不同),上部分为标题栏,下部分为内容栏,而内容栏的id 为 android.R.id
动态添加综合布局---动态添加控件及将某XML动态加入到Activity显示(续)
前言:
Android开发FrameLayout动态添加控件位置问题
首先FrameLayout的子控件默认都是从左上角显示的,还有最后添加的在最前面显示。 FrameLayout.LayoutParams params         一般是对params进行操作,刚开始一直params.rightMargin来定位置,访了第一条准则,那就换种思路来做,比如params.leftMargin         第二个重要的点:params需要每次生成一个新的,
Android在布局文件指定位置动态增加删除布局
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content&q
Android中可以用随意替换指定的View(比如在某个位置展示空页面,无网页面之类的)
Android中要在某个地方展示空页面,或者无网页面,开发者一般都是直接覆盖个页面上去,在需要的时候显示,不需要隐藏。这样就扰乱了代码的逻辑性。今天写了个小工具,可以随意指定在某个View上展示空页面。代码很简单,如下,相信很快就能看明白: public class ReplaceViewHelper { private Activity mActivity; protected
在ListView的Item之间任意位置插入view,分割item
package com.xspacing.listviewspace;import java.util.ArrayList; import java.util.List;import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.LayoutInf
在viewpager中动态添加view,并实现伪无限循环
viewpager的使用,大家都熟悉,它可以实现页面之间左右滑动的切换,这里有一个需求,就是viewpager里面加载的页数不是确定的,而是根据数据的多少来确定的。常见的应用就是在一个新闻的详细页面中,显示与此新闻有关的图片。         下面我们来看一下代码:         activity_main.xml         <RelativeLayout xmlns:andro
linearLayout 配合merge动态添加子view的二种方式
方式一:使用inflate配合merge,实现加载相关view,我这边加载的是textView&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt; &amp;lt;merge xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; android:layout_width=&quot;match_parent&quot;...
android——代码实现在指定位置显示View
实现如图效果,长按TextView则显示Dialog 步骤: 1、原理,要获取显示的位置,这里涉及到一个方法getLocationOnScreen。int[] location = new int[2] ; view.getLocationInWindow(location); //确定组件在父窗体中的坐标时 view.getLocationOnScreen(location);
LinearLayout动态添加控件及将某XML动态加入到Activity显示(1)
版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[+] 本文第二篇:《动态添加综合布局---动态添加控件及将某XML动态加入到Activity显示(续)》 总结:对于viewgroup,可以设定margin(即viewgroup距离父布局的距离)和layoutParams.graviey(即viewgroup在父布局中的位置,但是lay
Android 动态添加View 并设置id
主页面布局(main_activity.xml) LinearLayout 里面加一个Button,注意这里的LinearLayout要有orientation &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt; &amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk...
Listview中动态添加另外一种布局
listview在现有数据中动态添加另外一种布局,通过getViewType区分开position。根据返回的值,加载不同的布局,实现两种布局。注意getcout等于源数据集合中的总数加上插入的新数据的数量。
在ScrollView中动态添加View
需求:要求在ScrollView中动态添加View,并且添加的View可以进行缩进。 思路:一开始的思路是使用ListView动态添加Item的方法来实现,即当需要新增一个View时,就给适配器新增一条数据,并提醒适配器更新数据,如果ListView没有嵌套在ScrollView中,并且新增的View不需要缩进,这样的方法是可以实现这一需求的,但是悲催就悲催在,ListView必须嵌套在Scroll
Android中动态初始化布局参数以及ConstraintLayout使用中遇到的坑
Android中动态初始化布局以及ConstraintLayout遇到的一个坑 ConstraintLayout是Android中的一个很强大的布局,它通过控件之间的相对定位,来完成一个layout中的所有view的布局,但布局方法相对于RelativeLayout更为灵活。能够大幅减少布局嵌套,提升性能。 这次遇到的问题是在Activity中动态对Fragment进行布局和动画效果,难点在于...
android 动态创建控件并设置布局
有时候我们需要在代码中动态创建view,并把它加入到当前的viewGroup中,动态创建view一般使用LayoutInflater或者构造函数,在这里使用构造函数,有三个构造函数可用,比如动态创建TextView,可以使用这三个构造函数:     TextView(Context context)     TextView(Context context, AttributeSet attr
Android动态创建布局常用方法
项目中经常需要动态改变某个View的位置,或者自定义View时需要动态赋值等等,因此有一些基础操作需要熟练掌握,下面这个虽然很丑,但是基本上常用的一些动态操作的方法都已经涉及到了,先看下效果,然后对照代码看: 对应代码如下: public class MainActivity extends AppCompatActivity { private RelativeLayout ...
Fragment的基本使用(向布局中动态添加Fragment)
1、新建一个Activity,在Activity中的布局是垂直的线性布局,2个button,一个FramLayout,为Framlayout设置一个id 2、新建2个Fragment,继承Fragment,在oncreatview中初始化fragment的布局 动态添加Fragment主要分为4步: 1.获取到FragmentManager,在V4包中通过getSupportFrag
android 动态切换view
动态切换布局 setContentView
RecycleView在中间“插入”布局以及添加头部的姿势
前段时间,在闲下来的时候做自己的项目,碰到了一个深坑,其实也不能说是坑吧,主要是这个需求比较奇怪,需求是这样的,它是一个商城的主界面实现,由于有相同的item,但是它除了有相同的Item外,还有一些不同的布局,所以我在ListView和RecyclerView当中做出选择的时候,毫不犹豫的选择了RecyclerView。至于为什么要用RecyclerView呢?因为RecyclerView好玩一点,
动态添加ViewPager子界面
ViewPager动态布局,添加子界面 1、主界面布局:activity_four_three.xml LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@
Android动态设置布局,为LinearLayout动态添加子控件
View view = getActivity().getLayoutInflater().inflate(R.layout.category_select_popupwindow_right, null); LinearLayout linearLayoutContainer=(LinearLayout)view.findViewById(R.id.linear_layout_c
Android View 动态加载不同xml布局文件
以下代码可做参考, 主要是需要先removeAllViews(),在这里卡了会。public class BottomBar extends LinearLayout { private Context mContext; public final static int ITEM_LAYOUT_COLLECT = 0; public final static int ITEM_
Android设置布局参数,addView添加布局时指定控件属性
有时候在控件个数不定的时候,需要通过new出控件的形式动态添加到view group里 这个时候 控件的位置就成了一个难题了 原来,就这么把image view添加进去了 for (int i = 0; i < strings.size(); i ++) { final RoundImageView iv = new RoundImageView(getActivity(
动态添加重复布局以及各子布局点击事件
要求实现一个可以一次创建多个班级的功能,效果如下图: 其中班级名和专业是一个可以复用的子view,直接使用View addView = LayoutInflater.from(CreateClassActivity.this).inflate(R.layout.add_class_view, null); parent.addView(addView);总是会出现
android 动态添加View 两种方法
一.实例化View RelativeLayout relativeLayout = new RelativeLayout(view.getContext()); RelativeLayout.LayoutParams relLayoutParams=new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT
Android使用addView动态添加组件
在项目开发中,我们经常需要进行动态添加组件,其中可添加的部分有两项:布局和组件  其中,添加的布局主要有RelativeLayout型(相对布局)的和LinearLayout(线性布局)            添加的组件主要有文本显示框,编辑框,按钮等组件。 下面,就让我们来进行实现:     首先我们创建一个新的项目,删除MainActivity.class中没有的代码,仅留下p
android Listview 动态添加view显示的时候view 显示的内容一样
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_xinxi); list=new ArrayList&amp;lt;Friendsmoban&amp;gt;(); ...
Android滚动布局ScrollView滚动到指定的View
本文用于在滚动布局中,操作View到屏幕顶端位置: Activity生命周期中,onStart, onResume, onCreate都不是真正View真正visible的时间点,真正的visible时间点是onWindowFocusChanged()函数被执行时。 备注:从onWindowFocusChanged被执行起,用户可以与应用进行交互了,而这之前,对用户的操作需要做一点限
Android RelativeLayout动态修改子控件位置(可连续拖动的View)
学习地址来源:http://stackoverflow.com/questions/9398057/android-move-a-view-on-touch-move-action-move 另一个地方:http://blog.csdn.net/lilu_leo/article/details/7415618 做项目遇到一个需求,一个TextView需要可以在布局中任意拖动。我本来想到
动态加载布局时设置LinearLayout中的View的权重
在写程序时遇到这么一个问题. 根据数量的多少动态加载LinearLayout的个数,每个LinearLayout内部是横向排列的三个TextView,要让每个TextView中的文字居中显示,三个TextView还要平均分布占满整个屏幕的宽度,即用JAVA代码设置每个TextView的android:layout_weight属性,再网上查询了资料之后(在此不在贴原文了)终于解决,现在做个记录.
android动态添加控件并设置位置样式
if (mgtEditField!=null){ if (btnSubmit==null){ btnSubmit=new Button(this); btnSubmit.setBackgroundResource(drawable.udcitem); mgtEditField.container.addView(btnSubmit); //mgtEditFie
android动态修改布局
LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) textView.getLayoutParams(); //取控件textView当前的布局参数 linearParams.height = 20;// 控件的高强制设成20   linearParams.width = 30;// 控件的宽强制设成30
Android中动态添加view,删除view,获取view的内容
最近在项目中碰到一个需求,在编辑一个红包详情页面的时候,需要动态的添加使用条件,并且可以删除,最后提交数据的时候需要获取到条件里面的数据。网上搜了一些答案没有比较满意的解决方法,所以写下此文。 效果图: 解决思路: 1.使用布局的addview方法,即可动态添加。 2.动态删除需要获取到当前条目在布局中的位置或者对象,然后用removeview方法删除。 3.提交服务器需要获取条
LinearLayout动态添加View 以及点击事件处理
    XML布局文件 &amp;lt;LinearLayout            android:id=&quot;@+id/ll_titles&quot;            android:layout_width=&quot;match_parent&quot;            android:layout_height=&quot;wrap_content&quot;            android:orientation=&quot;horiz...
android动态加入xml布局并设置id
效果演示 点击添加布局,并为布局中的EditView设置文本 代码实现 -动态加入布局 1.在activity_main.xml中加入按钮,并设置LinearLayout的id LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http
Android布局中动态添加ImageView
需求:界面有时候显示图片的数量未知,需要在代码中动态添加图片。 方法步骤: 1.布局: &amp;lt;LinearLayout android:id=&quot;@+id/ll_group&quot; android:layout_width=&quot;wrap_content&quot; android:layout_height=&quot;wrap_content&quot; android:orientation=&quot;...
动态设置(viewGroup)布局的位置、大小
动态设置(viewGroup)布局的位置、大小 params1 = (RelativeLayout.LayoutParams) rl_meeting1.getLayoutParams(); //布局位于父控件的底部(父控件为relativelayout ) params2.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); //设置布局的大小(为了适配,大小可
RecycleView设置分割线和布局方向
//设置布局方向 LinearLayoutManager layoutManager = new LinearLayoutManager(context); layoutManager.setOrientation(LinearLayoutManager.VERTICAL); rcvView.setLayoutManager(layoutManager); //设置分割线 R
【android】RecyclerView中动态添加子控件和改变ViewHolder高度
想要跨平台,就要对平台有了解,最近在看android开发。在为RecyclerView中动态添加子控件和改变ViewHolder高度时遇到了几个坑,费了不少时间填坑,所以记录一下。 这个是效果图:本文demo链接:https://github.com/zhangzhaopds/RecyclerView_demo.git点击cell,那么cell的高度就会增加一倍,同时,在cell上面添加一个控件。关
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 如何安装动态网页制作教程 dw网页制作如何插入视频