Java动态添加view的方法
一般情况下,我们大部分人都是在XML文件直接写布局,可是有些时候需要用代码动态添加布局,比如我昨天做一个viewpager的页数的显示,当没有内容是把textView给clear掉,有内容是用Java代码动态添加。
1.编写代码,生成view,添加到linearLayout内。
mTextView=new TextView(mActivity); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(60, 30); mTextView.setLayoutParams(layoutParams); mTextView.setTextColor(Color.parseColor("#03A9F4")); mTextView.setVisibility(View.GONE); dotsLinearLayout.addView(mTextView);
2.根据viewpager的页数变化显示textView
public void setCurrentNumber(int number){ boolean isContain=false; for(int i=0;i<dotsLinearLayout.getChildCount();i++){ View v=dotsLinearLayout.getChildAt(i); if (v instanceof TextView){ isContain=true; } } if (isContain == false){ setMTextView(); } if (myViewPagerAdapter!=null){ int current=number+myViewPager.getCurrentItem()*4; mTextView.setText(current+"/"+myViewPagerAdapter.getCount()*4); mTextView.setVisibility(View.VISIBLE); for (int i = 0; i < dotViews.size(); i++) { dotViews.get(i).setVisibility(View.GONE); } } }
其中for循环是判断linearlayout内是否存在textView,不存在则创建textView,然后就可以动态改变textView的数据了。
相关推荐
-
通过Java代码来创建view的方法
一.简介 需要了解的知识 二.方法 1)java代码创建view方法 * 1.先建view对象 View view= View.inflate(this, R.layout.activity01, null); * 2.在view中填充R.layout.activity01页面 View view= View.inflate(this, R.layout.activity01, null); * 3.然后在view对象中添加各种控件(例如TextView,Button等),注意要转化成ViewG
-
Android中用RxJava和ViewPager实现轮播图
前言 很多人要实现轮播图都会想到使用ViewPager + Handler来完成轮播图的效果.但是在RxJava快速发展的情况下,已经可以使用RxJava来代替Handler完成这样任务了. 下面我们就来介绍如何实现RxJava+ViewPager的轮播图. 效果图如下 ViewPager的操作 说到ViwePager应该大家都不陌生,它可以结合普通的View也可以结合Fragment一起使用.在此我也就不对它的使用方法进行过多的介绍了.直接开始介绍轮播的方法. 常见的轮播操作 private
-
JavaFX之TableView的使用详解
TableView,算是一个很重要的控件,几乎随处可见,而且功能强大,数据展示效果良好.所以,在JavaFX中,我们自然而然也应该学习一下TableView的使用. 下面我们先看看TableView的效果图: 每一列都是一个TableColumn,我们可以直接创建也可以在JavaFX Scene Builder中创建好. TableView的数据填充,需要一个ObservableList.其中需要一个类来做数据填充. 下面看看我们数据填充的类: 复制代码 代码如下: import javafx.
-
Java Annotation Overview详解
JAVA注解概述: 1. 注解是给编译器看的,这不同于注释 2. 三个基本的注解: @Override 告诉编译器这是在覆写方法@Deprecated 告诉编译器该方法过时了@SuppressWarnings("unchecked") 不要警告= (value={"unchecked"})3. 注解可以用来替代传统的配置文件4. JDK5 开始,Java增加了对元数据(MetaData)的支持,即Annotation. 自定义注解和反射注解 自定义注解:1. 新
-
Java动态添加view的方法
一般情况下,我们大部分人都是在XML文件直接写布局,可是有些时候需要用代码动态添加布局,比如我昨天做一个viewpager的页数的显示,当没有内容是把textView给clear掉,有内容是用Java代码动态添加. 1.编写代码,生成view,添加到linearLayout内. mTextView=new TextView(mActivity); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(60,
-
Android动态添加view的方法示例
由于项目需求菜单写活,效果如下: 这里的按钮数量是可变的.png 由于不是可滑动控件,我用的百分比布局做的适配 LinearLayout typeLayout = (LinearLayout) headerView.findViewById(R.id.layout_type); final List<FirstTypeEntity.DataBean> firstTypeList = entity.getData(); for (int i = 0;i<firstTypeList.size
-
Android viewpager中动态添加view并实现伪无限循环的方法
本文实例讲述了Android viewpager中动态添加view并实现伪无限循环的方法.分享给大家供大家参考,具体如下: viewpager的使用,大家都熟悉,它可以实现页面之间左右滑动的切换,这里有一个需求,就是viewpager里面加载的页数不是确定的,而是根据数据的多少来确定的.常见的应用就是在一个新闻的详细页面中,显示与此新闻有关的图片. 下面我们来看一下代码: activity_main.xml <RelativeLayout xmlns:android="http://sch
-
基于Android在布局中动态添加view的两种方法(总结)
一.说明 添加视图文件的时候有两种方式:1.通过在xml文件定义layout:2.java代码编写 二.前言说明 1.构造xml文件 2.LayoutInflater 提到addview,首先要了解一下LayoutInflater类.这个类最主要的功能就是实现将xml表述的layout转化为View的功能.为了便于理解,我们可以将它与findViewById()作一比较,二者都是实例化某一对象,不同的是findViewById()是找xml布局文件下的具体widget控件实例化,而LayoutI
-
Java为实体类动态添加属性的方法详解
目录 添加依赖 代码 测试 可以给已有实体类动态的添加字段并返回新的实体对象,不影响原来的实体对象结构. 添加依赖 <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>2.2.2</version> </dependency> <dependency> <groupId>commons
-
Android动态添加View的问题解决方法
后台代码 复制代码 代码如下: private void ChangeView() { ly.removeAllViews(); LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE); View layout = inflater.inflate(R.layout.grid,null); GridView gridview
-
java动态添加外部jar包到classpath的实例详解
java动态添加外部jar包到classpath的实例详解 前言: 在项目开发过程中我们有时候需要动态的添加外部jar包,但是具体的业务需求还没有遇到过,因为如果动态添加外部jar包后,我们就需要修改业务代码,而修改代码就需要重新启动服务,那样好像就没有必要动态添加外部jar包了,怎么样才能不重新启动服务器就可以使用最新的代码我没有找到方法,如果各位知道的话给我点建议,回归主题,实现动态添加外部jar包到classpath的方法如下: String beanClassName = "com.dy
-
Android 动态添加view或item并获取数据的实例
最近在做一项目,项目中用到了一个功能,要求是动态Item,而且是多个的情况下,不过仔细的分析了下,都大同小异,做起来也很简单,在这里我只抽取出来做了一demo,也只做了一个动态添加item,同时可以获取所有添加和编辑Item上的数据,先上图: 我们先来分析一下这个demo: 两个TextView和EditText,一个Button,一个星级评价RatingBar控件,布局完事- activity_dynamic的布局,有可能会添加多个,所以外面用ScrollView,因为我们是垂直方向添加,所以
-
Android使用addView动态添加组件的方法
在项目开发中,我们经常需要进行动态添加组件,其中可添加的部分有两项:布局和组件 其中,添加的布局主要有RelativeLayout型(相对布局)的和LinearLayout(线性布局) 添加的组件主要有文本显示框,编辑框,按钮等组件. 下面,就让我们来进行实现: 首先我们创建一个新的项目,删除MainActivity.class中没有的代码,仅留下protected void onCreate(Bundle savedInstanceState)函数往布局文件中添加一个新的组件: 1. addV
-
angularJS实现动态添加,删除div方法
要实现的功能类似下图,动态添加或者删除div 点击 增加可添加一条div 点击删除可删除一条div HTML代码如下:(省略CSS样式代码了大笑) <div class="accordion-inner"> <div class="alert alert-info fade in" ng-repeat="permission in permissions">授权给: <select id="" c
随机推荐
- bat使用forfiles自动批量删除过期文件
- 详解python的几种标准输出重定向方式
- js中的事件委托或是事件代理使用详解
- Repeater怎么实现多行间隔显示分隔符
- C++中判断成员函数是否重写
- android使用AsyncTask实现多线程下载实例
- mysql导入sql文件报错 ERROR 2013 2006 2002
- 网站控制台directadmin中文手册 Linux下虚拟主机管理
- MySQL如何清空慢查询文件
- jQuery遍历json的方法分析
- JavaScript中Number.MIN_VALUE属性的使用示例
- javascript实现的颜色块滑动的动态效果
- 关于PHP转换超过2038年日期出错的问题解决
- 基于文本的访客签到簿
- C语言使用结构体实现简单通讯录
- Java实现两人五子棋游戏(三) 画出棋子
- .NET Core Dapper操作mysql数据库的实现方法
- 详解vue中localStorage的使用方法
- vue实现菜单切换功能
- CentOS7.x卸载与安装MySQL5.7的操作过程及编码格式的修改方法