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();i++){ WindowManager wm = (WindowManager) getContext() .getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); int height = wm.getDefaultDisplay().getHeight(); View view = View.inflate(getActivity(),R.layout.item_first_type,null); LinearLayout tab = (LinearLayout) view.findViewById(R.id.tab); LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) tab.getLayoutParams(); linearParams.width = width/firstTypeList.size();//根据数量来吧 linearParams.height = width/firstTypeList.size();//根据数量来吧 tab.setLayoutParams(linearParams); //使设置好的布局参数应用到控件 }

item_first_type代码:

<com.zhy.android.percent.support.PercentLinearLayout android:id="@+id/tab" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center" android:background="@drawable/selector_choose_white"> <ImageView android:id="@+id/iv" android:layout_width="0dp" app:layout_widthPercent="45%h" android:layout_height="0dp" app:layout_heightPercent="45%h" android:src="@mipmap/first_newenergy_tab"/> <TextView android:id="@+id/tv" android:layout_width="match_parent" android:layout_height="0dp" app:layout_heightPercent="20%h" android:text="新能源" android:textColor="@color/black_my" app:layout_textSizePercent="12%" android:gravity="center" android:maxLines="1" android:ellipsize="end"/> </com.zhy.android.percent.support.PercentLinearLayout>

layout_type代码:

<com.zhy.android.percent.support.PercentLinearLayout android:id="@+id/layout_type" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:background="@color/white"> </com.zhy.android.percent.support.PercentLinearLayout>

这种写法数量一般3-6个还是可以的,如果太多的话还是推荐用RecyclerView。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-09-20 09:30:21

Android动态添加view的方法示例的相关文章

动态添加 iew不可重叠-android动态添加View并位置随机

问题描述 android动态添加View并位置随机 解决方案 1.添加view直接采用addview就可以了2.可以采用RelativeLayout或者framelayout布局方式,这上面添加的组件可以通过设置left和top或者设置leftmargintopmargin也行,实现绝对定位3.组件不重叠需要自己记录下来一个rect集合,在添加的时候进行判断添加的view是否会重叠.以及可以添加的坐标. 解决方案二: http://embed.21ic.com/software/android/

Android动态添加View的问题解决方法_Android

后台代码 复制代码 代码如下:     private void ChangeView()    {        ly.removeAllViews();        LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);        View layout = inflater.inflate(R.layout.grid,null);        GridView grid

Android动态添加View的问题解决方法

后台代码复制代码 代码如下:    private void ChangeView()    {        ly.removeAllViews();        LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);        View layout = inflater.inflate(R.layout.grid,null);        GridView gridvi

Android TextView添加超链接的方法示例_Android

本文实例讲述了Android TextView添加超链接的方法.分享给大家供大家参考,具体如下: public class Link extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.link); // text1 shows the android:autoLin

android开发中动态添加view的两个实例

举个例子:比如要在一个LinearLayout中添加一个Button,  子view是Button,父view是LinearLayout. 子view的属性就是通过LayoutParams来设置的,注意是LinearLayout.LayoutParams,因为子view的高度,宽度这些都是针对父view的,要告诉父view自己要占用多大空间,所以是LinearLayout(原来总是会用子view的LayoutParams来设置,错误) public class MyActivity extend

Android viewpager中动态添加view并实现伪无限循环的方法_Android

本文实例讲述了Android viewpager中动态添加view并实现伪无限循环的方法.分享给大家供大家参考,具体如下: viewpager的使用,大家都熟悉,它可以实现页面之间左右滑动的切换,这里有一个需求,就是viewpager里面加载的页数不是确定的,而是根据数据的多少来确定的.常见的应用就是在一个新闻的详细页面中,显示与此新闻有关的图片. 下面我们来看一下代码: activity_main.xml <RelativeLayout xmlns:android="http://sch

Android viewpager中动态添加view并实现伪无限循环的方法

本文实例讲述了Android viewpager中动态添加view并实现伪无限循环的方法.分享给大家供大家参考,具体如下: viewpager的使用,大家都熟悉,它可以实现页面之间左右滑动的切换,这里有一个需求,就是viewpager里面加载的页数不是确定的,而是根据数据的多少来确定的.常见的应用就是在一个新闻的详细页面中,显示与此新闻有关的图片. 下面我们来看一下代码: activity_main.xml <RelativeLayout xmlns:android="http://sch

Android使用addView动态添加组件的方法_Android

在项目开发中,我们经常需要进行动态添加组件,其中可添加的部分有两项:布局和组件  其中,添加的布局主要有RelativeLayout型(相对布局)的和LinearLayout(线性布局) 添加的组件主要有文本显示框,编辑框,按钮等组件.  下面,就让我们来进行实现: 首先我们创建一个新的项目,删除MainActivity.class中没有的代码,仅留下protected void onCreate(Bundle savedInstanceState)函数往布局文件中添加一个新的组件: 1. ad

Android使用addView动态添加组件的方法

在项目开发中,我们经常需要进行动态添加组件,其中可添加的部分有两项:布局和组件 其中,添加的布局主要有RelativeLayout型(相对布局)的和LinearLayout(线性布局) 添加的组件主要有文本显示框,编辑框,按钮等组件. 下面,就让我们来进行实现: 首先我们创建一个新的项目,删除MainActivity.class中没有的代码,仅留下protected void onCreate(Bundle savedInstanceState)函数往布局文件中添加一个新的组件: 1. addV