2013-02-28 5 views
0

Я хотел бы сделать button, простую кнопку, имеющую значение по умолчанию Search icon, которое используется в Android. Однако, Я не хочу создавать свой собственный xml-файл и помещать изображения в папку Drawable, потому что я знаю они уже существуют в Android sdk.Используйте кнопки по умолчанию в Android sdk

  • Так почему бы не использовать их?

Я пытался сделать что-то вроде этого:

android:background="@android:drawable/...." но есть в этом каталоге, кажется, что все файлы PNG файла не XML-файл может взаимодействовать с пользователем (на нажатой кнопке, и т.д ..)

Я надеюсь, что эксперт может помочь в решении этой проблемы.

+0

Отправьте код, который у вас есть, чтобы мы могли помочь. – codeMagic

+0

Почему вы не можете просто использовать 'ImageButton' и установить' android: src = "" '? –

ответ

2

Вам не нужен xml-файл для работы кнопки. Файлы png в чертежах предназначены только для изображения. Вы можете создать кнопку программно или в xml, но вы все равно должны ее создать где-то, потому что экземпляр Button - это то, что используется для onClick() и не обязательно для xml. В любом случае вы должны иметь файл XML для вашего Layout использовать в setContentView(), так что вы можете поместить Button в этом файле макета или создать его в своем коде Java, но в любом случае, вы должны создать Button

XML

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:orientation="vertical" > 
    <TextView android:id="@+id/text" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Hello, I am a TextView" /> 
    <Button android:id="@+id/button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Hello, I am a Button" /> 
</LinearLayout> 

в этом Button вы можете установить фон или использовать ImageButton вместо и установить `андроид: SRC =«@ вытяжка/...»

Тогда в вашем коде вы все равно должны получить экземпляр кнопки

Кнопка btn1 = (Button) findViewById (R.id.button)

после того, как вы назвали макет как

setContentView(R.layout.your_layout_file); 

Если вы используете ImageButton просто заменить Button с ImageButton что и это звучит Как ты хочешь. Надеюсь, это поможет вам сделать для вас немного больше смысла.

+0

Кажется, что никто не понимал, что я на самом деле имею в виду. Например, если я использую ImageButton и устанавливаю этот андроид: src = "@ android: drawable/ic_menu_search", то всякий раз, когда я нажимаю на него, он не взаимодействует, поэтому мне нужно создать xml-файл для работы с нажатым состоянием , и т. д. есть ли другое решение, которое уже знает андроид? – Alex

+0

Он работал, как вы предложили, кстати, я попробовал ImageButton! Это то, чего я хотел. Спасибо! – Alex

+0

Я думал, что так и будет. Я рад, что мог бы помочь, но если вы не понимаете, почему тогда не стесняйтесь спрашивать, и, может быть, я могу помочь понять :) – codeMagic

Смежные вопросы