当用户点击另一个按钮时,我通过编程将一个按钮添加到现有的Android视图中。从功能上讲它是有效的,但某些样式信息似乎被忽略了。我通过使用一个单独包含按钮的布局,并填充预先设置好的样式值来添加按钮。
当这个按钮出现时,LogCat中没有错误,似乎样式根本没有被应用。如果我在该布局的XML中手动包含按钮,则所有样式都能成功地使用。
非常感谢任何帮助。
<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设置颜色、文本等,其中大部分在添加按钮时都被使用。但由于某种原因,四个margin属性和layout_below被忽略了。当这个按钮出现时,LogCat中没有错误,似乎样式根本没有被应用。如果我在该布局的XML中手动包含按钮,则所有样式都能成功地使用。
非常感谢任何帮助。
buttonDelete = (Button) getLayoutInflater().inflate(R.layout.pete_button_filedelete, layout, false);
,虽然layout_below
仍然被忽略。我可以绕过这个问题,但是想知道为什么那个还不起作用?再次感谢!如果我有声望来点赞你,我会的 :) - Pete Glayout_below
仅适用于RelativeLayout
。你的LinearLayout
忽略此属性。在LinearLayout
中,您可以通过视图在布局中的位置来控制其上方/下方。 - David Wasser