我通过一个单独的布局添加按钮,只包含按钮,预先填充样式值.
< button xmlns:androID =“http://schemas.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的颜色,文本等,其中大部分都是在按钮添加时使用的.但由于某种原因,四个边距属性和layout_below被忽略.
当这个按钮出现时,我在LogCat中没有出现任何错误,就好像没有应用样式一样.如果我在该布局的XML中手动包含该按钮,它将成功使用所有样式.
任何帮助非常感谢.
解决方法 调用addVIEw()时需要传递布局参数,因为布局参数与单个视图无关,它们总是在周围视图的上下文中获取. addVIEw()的变体采用LayoutParams参数.编辑添加更多详细信息
您应该创建一组linearLayout.LayoutParams并在那里设置边距,然后将其传递给addVIEw()
无论如何,对于linearLayout都会忽略layout_below(该属性仅与relativeLayout相关.当您调用addVIEw(buttonDelete,1)时,您将告诉它将视图放在线性布局中的哪个位置.
总结以上是内存溢出为你收集整理的Android – 以编程方式添加视图忽略某些样式属性全部内容,希望文章能够帮你解决Android – 以编程方式添加视图忽略某些样式属性所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)