android 动态布局与引用第三方layout中的布局

2018-04-07 15:22:25

引用第三方layout中的布局

  1. LinearLayout rightContentView = (LinearLayout) findViewById(R.id.lyt_chat_content);  

  2. View child =  LayoutInflater.from(this).inflate(R.layout.qa_text, null);// 由Layout的Id获得对应的View  

  3. rightContentView .removeAllViews(); // 清除View里面的所有View  

  4. LayoutParams layoutParams = new LayoutParams(android.view.ViewGroup.LayoutParams.FILL_PARENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT);  

  5. rightContentView.addView(child, layoutParams);  

这段代码实现了将rightContentView里面的子View全部清空,然后替换成 qa_text 这个Layout 布局。

这段代码用于实现Layout里面子layout的动态切换。



android 动态布局

一个在LinearLayout下的控件生成方法


(若是在RelationLayout下将LinearLayout.LayoutParams改为RelationLayout.LayoutParams

         /**
	 * 创建一个textView,参数为文本框内容
	 */
	private void creatText(String str) {
		TextView textView = new TextView(this);
		textView.setPadding(10, 10, 10, 10);
		textView.setText(str);
		params=new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
		params.setMargins(30, 10, 30, 0);
		layout.addView(textView,params);
	}
	/**
	 * 创建一个iamgeview,参数为图片名 R.drawable.image
	 */
	private void imageView(int drawable){
		ImageView image = new ImageView(this);
		image.setImageResource(drawable);
		params=new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,600);
		params.setMargins(30, 20, 30, 20);
		layout.addView(image,params);
	}


第三方扩展,获得父级布局元素

FrameLayout view = (FrameLayout  )getWindow().getDecorView();


  • 2020-01-14 01:06:37

    webpack externals 深入理解

    按照官方文档的解释,如果我们想引用一个库,但是又不想让webpack打包,并且又不影响我们在程序中以CMD、AMD或者window/global全局等方式进行使用,那就可以通过配置externals。这个功能主要是用在创建一个库的时候用的,但是也可以在我们项目开发中充分使用。

  • 2020-01-14 01:08:19

    webpack用externals优化echarts

    防止将某些 import 的包(package)打包到 bundle 中,而是在运行时(runtime)再去从外部获取这些扩展依赖(external dependencies)。

  • 2020-01-16 08:52:22

    Vue函数式调用组件创建公共组件

    所有组件都需要这么去调用,就会有些许麻烦而且不太美观。像Loading、Toast等这些组件,一页面可以经常用到而且每次显示的内容都可能不一样,这样的话用js的方式【this.$xxx.show(option)】去调用就方便很多,而且代码也更整洁。

  • 2020-01-17 08:37:26

    css transition分别指定多个属性

    transition有四个属性,很多人都会遗忘,分别是transition-property,transition-duration,transition-timing-function,transition-delay,尤其是transition-delay,这个可以实现延迟动画

  • 2020-01-17 08:44:57

    vue keepalive 前进刷新后退不刷新终极解决方案

    另外,我们做路由的时候要有意的根据页面等级做出路由的长度 比如 /a是一级的页面/a/b是二级的页面,下面的文章大家也可以通过判断path的长度来计算rank值,不用有意自定了 这样做的好处有两点,一个就是前进刷新,后退不刷新,还有就是,如果我们做页面进出效果的时候也能排上用场。