Кнопка и drawable левый
Я создаю кнопку в xml-файле следующим образом:
<Button
android:id="@+id/call_button"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="30dp"
android:background="@drawable/button"
android:layout_weight="40"
android:drawableLeft="@drawable/symbol_phone"
android:paddingLeft="20dp"
android:drawablePadding="-25dp"
android:text="Call"
android:textColor="@color/white"
/>
Я хотел бы знать, как я могу сделать drawableLeft в деятельности. Я знаю, что это глупо, но мне нужно сделать это в деятельности, потому что я создаю кнопку там. Как я могу сделать то же самое, что у меня есть в xml-файле в моей деятельности? Мне нужно добавить drawableLeft и drawable обивка и обивка слева. Вот как я создаю кнопку в деятельности
Button button1 = new Button(this);
button1.setLayoutParams(new RelativeLayout.LayoutParams(buttonWidth, buttonHeight));
button1.setText(systemTexts.getShowCallButton());
button1.setBackgroundDrawable(new
button1.setTextColor(Color.parseColor(buttonTextColor));
5 ответов
Drawable image = getContext().getResources().getDrawable( R.drawable.icon );
image.setBounds( 0, 0, 60, 60 );
button.setCompoundDrawables( image, null, null, null );
этого
обновление:
С getContext().getResources().getDrawable
теперь устаревший, используйте этот код:
Drawable image = ContextCompat.getDrawable(getApplicationContext(),R.drawable.icon);
image.setBounds( 0, 0, 60, 60 );
button.setCompoundDrawables( image, null, null, null );
попробуйте это,
Drawable icon= getContext().getResources().getDrawable(R.drawable.icon);
button.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null);
способ программно установить drawableLeft с setCompoundDrawablesWithIntrinsicbounds.
вы можете установить отступы с setPadding
документы показывают соответствующий метод java для всех тегов xml.
вы можете использовать ниже код
<Button android:text="@string/button_label"
android:id="@+id/buttonId"
android:layout_width="160dip"
android:layout_height="60dip"
android:layout_gravity="center"
android:textSize="13dip"
android:drawableLeft="@drawable/button_icon"
android:drawablePadding="2dip"
android:paddingLeft="30dip"
android:paddingRight="26dip"
android:singleLine="true"
android:gravity="center" />
он будет управлять путем заполнения Ti текста и изображения как