我使用了getlayoutInflater方法动态设置按钮的样式,但不应用宽度,高度和重量。怎么能解决这个问题呢?
子菜单是一个水平线性布局,我的按钮被动态添加到其中。
in MainActivity :
award = (Button) getLayoutInflater().inflate(R.layout.btn_layout, null);
award.setId(R.id.award);
award.setText("---");
submenu.addView(award);
in inflater Layout :
<Button
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:width="0dp"
android:layout_weight="1"
style="@style/subbtn"></Button>
in style.xml :
<style name="subbtn">
<item name="android:textColor">#fff</item>
<item name="android:background">@drawable/selector</item>
</style>
答案 0 :(得分:1)
在添加视图之前,您必须添加LayoutParams
的内容:
award.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT,1.0f));
然后:
submenu.addView(award);