我正在编写一个应用程序,我必须在BD中显示每个项目的按钮,所以我创建了一个包含ScrollView的片段,并在Scroll中创建了一个LinearLayout。
我也为按钮创建了自己的风格(左侧有一个“+”图标):
<style name="myButtonStyle" parent="@android:style/Widget.Button">
<item name="android:drawableLeft">@drawable/ic_add_24dp</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@android:color/transparent</item>
/>
</style>
所以在代码中我要做的是在onCreateView中创建以下按钮:
mV = inflater.inflate(R.layout.this_fragment,container,false);
LinearLayout scroll = (LinearLayout) mV.findViewById(R.id.linearScrollView);//linearScrollView is my LinearLayout
for(int i = 0; i < list.size();i++)
{
Button mButton = new Button(mV.getContext(), null, R.style.myButtonStyle);
mButton.setText(list.get(i).getName());
mButton.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
}
});
scroll.addView(mButton);
}
return mV;
因此,当我尝试在手机中测试这个时,我得到了所有元素,但样式似乎缺失了,我有一个元素只是文本,我没有看到图标。
但如果我使用我创建的样式添加片段视图按钮,它们看起来就像我想要的那样!