2015-11-10 2 views
1

я хочу сделать следующее:Android: setbackground макет кнопки

button.setBackgroundResource(R.layout.caracbout); 

Но эта функция работает только так:

button.setBackgroundResource(R.drawable.xxxx); 

моя кнопка

<Button 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight=".6" 
      android:background="@layout/boutcarac" 
      android:textColor="#000000" 
      android:text="Refresh" 
      android:clickable="true" 
      android:onClick="refreshfiche"/> 

и мой макет caracbout xml похож на

<item android:state_pressed="true" > 
     <shape android:shape="rectangle" > 
      <corners android:radius="5dip"/> 
      <stroke 
       android:width="1dip" 
       android:color="#000000" /> 
      <gradient 
       android:angle="-90" 
       android:startColor="#0000" 
       android:endColor="#fff5d6" /> 
     </shape> 
    </item> 

    <item style="@style/typocarac"> 
     <shape android:shape="rectangle" > 
      <corners android:radius="5dip"/> 
      <stroke 
       android:width="1dip" 
       android:color="#fff5d6" /> 
      <gradient 
       android:angle="-90" 
       android:startColor="#fff5d6" 
       android:endColor="#0000" /> 
     </shape> 
    </item> 

и я должен изменить элемент android: state_pressed = "true", поэтому я хочу создать xml caracbout2 и установить его в java. Но я не знаю, как я могу это сделать. Спасибо!

+0

создать файл caracbout2 xml в каталоге, который можно использовать, и использовать R.drawable.caracbout2 в java – xxxzhi

+0

OMAGAD !!! благодаря!! Я новичок, я думал, что «drawable» был только для jpg или файла изображения ........................ спасибо! –

+0

добро пожаловать. Я добавляю ответ. – xxxzhi

ответ

0

создать файл XML caracbout2 в каталоге Drawable и использовать R.drawable.caracbout2 в Java

вы можете узнать из this для ресурса.

0

Макеты не являются фоновыми изображениями. Они содержат информацию, необходимую для рисования представлений/экранов приложений. Чтобы нарисовать кнопку с настраиваемым фоном, вы можете использовать файл ресурса с возможностью рисования.

http://developer.android.com/guide/topics/resources/drawable-resource.html

+0

спасибо, но у меня нет выбора, вот мой xml –

+0

Не можете ли вы надуть кнопку из своего макета? –

1

Вы можете установить фон, как это,

Button btn = (Button) findViewById(R.id.btn); 
btn.setBackgroundResource(R.drawable.ic_launcher); 
Смежные вопросы