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();


  • 2018-01-26 01:05:22

    Android在thread中Toast不能显示问题解决

    一般如果不是在主线程中又开启了新线程的话,一般都会碰到这个问题。 原因是在创建新线程的时候默认情况下不会去创建新的MessageQueue。

  • 2018-01-29 15:18:57

    Druid多数据源配置

    搞了一天,竟然输在了把datasource,携程dataSource.老是切换不成功,几近崩溃。