充气按钮的宽度和高度错误

Inv*_*Zim 1 size android button layout-inflater

我正在构建一个导航片段。有一个按钮始终存在(主按钮),其他按钮则动态添加和删除。

我有一个 xml 资源文件,我从中填充一个按钮,更改它的图标并将其添加到片段根布局中。

除了按钮大小之外,几乎所有功能都有效。之后的按钮大小为 0 (getWidth()/getHeight())。

按钮导航.xml

<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/navigation_button"
    android:layout_width="60dp"
    android:layout_height="60dp"
    android:background="@drawable/icon_test"
    android:backgroundTint="@drawable/selector_bar_button"></Button>
Run Code Online (Sandbox Code Playgroud)

膨胀代码

Button butt = (Button) inflater.inflate(R.layout.button_navigation, null, false);

buttons.add(butt);
root_view.addView(butt);
Run Code Online (Sandbox Code Playgroud)

创建充气机

public void setParent(MainActivity activity){
        parent = activity;
        inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
Run Code Online (Sandbox Code Playgroud)

变量

MainActivity parent;
LayoutInflater inflater;

int index;

ArrayList<Button> buttons;
Button button_main;
LinearLayout root_view;
Run Code Online (Sandbox Code Playgroud)

主按钮,具有与button_navigation.xml 完全相同的代码,并出现在片段的布局文件中。主按钮的大小很好。

ADM*_*ADM 5

将按钮包装在布局内。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">

<Button
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/nickname_message"
    android:layout_width="60dp"
    android:layout_height="60dp"
    android:text="adawd awdaw"
    android:textSize="18sp"
    android:textStyle="bold" />
Run Code Online (Sandbox Code Playgroud)

然后在运行时添加它。

linearLayout.addView(LayoutInflater.from(this).inflate(R.layout.item_layout,null));
Run Code Online (Sandbox Code Playgroud)