android 动态创建带图标的Button

it2024-08-19  43

用XML创建:

<Button android:id="@+id/btn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="test button" android:drawableLeft="@drawable/items1" android:onClick="onClickBtn"> </Button>

代码创建:

LinearLayout linear = (LinearLayout) findViewById(R.id.LinearView); Button button = new Button(this); button.setText("test button"); button.setOnClickListener(onClickBtn); button.setLayoutParams( new LayoutParams( android.view.ViewGroup.LayoutParams.FILL_PARENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT ) ); linear.addView(button);

Button添加图标:

Drawable img = getResources().getDrawable(R.drawable.items1); img.setBounds( 0, 0, 60, 60 ); button.setCompoundDrawables(img, null, null, null);

或者:

Drawable img = getResources().getDrawable(R.drawable.items1); button.setCompoundDrawablesWithIntrinsicBounds(img, null, null, null);

或者:

button.setCompoundDrawablesWithIntrinsicBounds(R.drawable.items1, 0, 0, 0);

最后总结一下代码创建带图标的Button:

LinearLayout linear = (LinearLayout) findViewById(R.id.LinearView); Button button = new Button(this); button.setText("test button"); button.setOnClickListener(onClickBtn); button.setLayoutParams( new LayoutParams( android.view.ViewGroup.LayoutParams.FILL_PARENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT ) ); button.setCompoundDrawablesWithIntrinsicBounds(R.drawable.items1, 0, 0, 0); linear.addView(button);

 

最新回复(0)