Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android – 以编程方式添加视图忽略某些样式属性大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
用户点击另一个按钮时,我以编程方式在我现有的 Android视图中添加一个按钮.它在功能方面起作用,但一些样式信息似乎被忽略了.

我通过一个单独的布局添加按钮,只包含按钮,预先填充样式值.

< Button xmlns:android =“http://scheR_241_11845@as.android.com/apk/res/android”style =“@ style / FileStoragedeleteButton”>< / Button>

通过使用getLayoutInflater,我可以将此按钮添加到布局中.

buttondelete =(Button)getLayoutInflater().inflate(R.layout.pete_button_filedelete,null);

LinearLayout layout =(LinearLayout)findViewById(R.id.layoutFileStoragE);

layout.addView(buttondelete,1);

我在values目录中有一个XML文件,用于设置@ style / FileStoragedeleteButton的颜色,文本等,其中大部分都是在按钮添加时使用的.但由于某种原因,四个边距@L_489_12@和layou@R_675_11164@elow被忽略.

当这个按钮出现时,我在LogCat中没有出现任何错误,就好像没有应用样式一样.如果我在该布局的XML中手动包含该按钮,它将成功使用所有样式.

任何帮助非常感谢.

解决方法

调用addView()时需要传递布局参数,因为布局参数与单个视图无关,它们总是在周围视图的上下文中获取. addView()的变体采用LayoutParams参数.

编辑添加更多详细信息

您应该创建一组LinearLayout.LayoutParams并在那里设置边距,然后将其传递给addView()

无论如何,对于LinearLayout都会忽略layou@R_675_11164@elow(该@L_489_12@仅与RelativeLayout相关.当您调用addView(buttondelete,1)时,您将告诉它将视图放在线性布局中的哪个位置.

大佬总结

以上是大佬教程为你收集整理的Android – 以编程方式添加视图忽略某些样式属性全部内容,希望文章能够帮你解决Android – 以编程方式添加视图忽略某些样式属性所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。