我正在构建导航片段。有一个始终存在的按钮(主按钮)和其他动态添加和删除的按钮。
我有一个xml资源文件,我从中提取按钮,更改它的图标并将其添加到片段根目录布局。
除按钮尺寸外,几乎所有功能都有效。后面的按钮大小为0(getWidth()/ getHeight())。
button_navigation.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>
充气代码
Button butt = (Button) inflater.inflate(R.layout.button_navigation, null, false);
buttons.add(butt);
root_view.addView(butt);
创建inflater
public void setParent(MainActivity activity){
parent = activity;
inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
变量
MainActivity parent;
LayoutInflater inflater;
int index;
ArrayList<Button> buttons;
Button button_main;
LinearLayout root_view;
主按钮,具有与button_navigation.xml完全相同的代码,并出现在片段的布局文件中。主按钮的尺寸很好。
答案 0 :(得分:1)
将您的按钮包裹在布局中。
<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" />
然后在运行时添加它。
linearLayout.addView(LayoutInflater.from(this).inflate(R.layout.item_layout,null));
答案 1 :(得分:0)
尝试在您的java代码button.setLayoutParams (new LayoutParams(60,60);