2012-05-14 2 views
7

кнопку создать в 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 padding и padding left. Это, как я кнопку создать в деятельности

Button button1 = new Button(this); 
button1.setLayoutParams(new RelativeLayout.LayoutParams(buttonWidth, buttonHeight)); 
button1.setText(systemTexts.getShowCallButton()); 
button1.setBackgroundDrawable(new          
button1.setTextColor(Color.parseColor(buttonTextColor)); 

ответ

20
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); 
5

Попробуйте это,

Drawable icon= getContext().getResources().getDrawable(R.drawable.icon); 
button.setCompoundDrawablesWithIntrinsicBounds(icon, null, null, null); 
-1

Вы можете использовать ниже код

<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" /> 

Обойдется текстом набивка ти и изображения как

+0

Я думаю, что вы не ответ вопрос, ОП хотел сделать это программно. – Joffrey

0

Вы можете попробовать это:

txtVw.setCompoundDrawables(R.drawable.img_nature, 0, 0, 0); 
Смежные вопросы