2016-04-18 3 views
0

У меня есть кнопки с текстом в ней. То, что я хочу, это одна и та же кнопка без текста, имеющая небольшую иконку в середине кнопки. Значок должен быть, я предполагаю, изображение, которое вы сохраняете в рисоваемом файле, но когда я помещаю его в кнопку, оно устанавливается в качестве фона.Настройка моей кнопки

Кроме того, все изображения с иконками являются изображениями с черной иконой, окруженной белым пространством, чтобы попасть в квадрат. Я хочу держать свою кнопку, просто имея значок в центре. Кто-нибудь знает, как это сделать?

активность основной код:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context="com.example.rodekruis.MainActivity"> 


    <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context="com.example.rodekruis.MainActivity"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="20dp" 
     android:src="@drawable/rkz_logo" 
     android:layout_gravity="center" /> 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_marginBottom="20dp" 
     android:orientation="horizontal"> 

     <Button 
      android:id="@+id/button10" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_alignTop="@+id/button8" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1" 
      android:text=" Afspraak maken" /> 


     <Button 
      android:id="@+id/button8" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1" 
      android:text=" Bezoek tijden" /> 

     <Button 
      android:id="@+id/button9" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="5dp" 
      android:layout_weight="1" 
      android:background="@drawable/contact" 
      android:text="Contact" /> 

    </LinearLayout> 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_marginTop="10dp" 
     android:layout_marginBottom="20dp" 
     android:orientation="horizontal"> 


     <Button 
      android:id="@+id/button3" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1" 
      android:text=" Geef je mening!" /> 


     <Button 
      android:id="@+id/button4" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1" 
      android:text=" Route begeleiding" /> 

     <Button 
      android:id="@+id/button1" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_alignLeft="@+id/button5" 
      android:layout_below="@+id/button8" 
      android:layout_marginLeft="5dp" 
      android:layout_weight="1" 
      android:text="Specialisten" /> 

    </LinearLayout> 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_marginTop="10dp" 
     android:orientation="horizontal"> 

     <Button 
      android:id="@+id/button5" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1.03" 
      android:text="Brandwonden centrum" /> 


     <Button 
      android:id="@+id/button6" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1" 
      android:text="Agenda" /> 


     <Button 
      android:id="@+id/button7" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="5dp" 
      android:layout_weight="1" 
      android:text="Nieuws" /> 
    </LinearLayout> 

</LinearLayout> 
</LinearLayout> 

Это код для верхних кнопок строки:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context="com.example.rodekruis.MainActivity"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="20dp" 
     android:src="@drawable/rkz_logo" 
     android:layout_gravity="center" /> 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_marginBottom="20dp" 
     android:orientation="horizontal"> 

     <Button 
      android:id="@+id/button10" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_alignTop="@+id/button8" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1" 
      android:text=" Afspraak maken" /> 


     <Button 
      android:id="@+id/button8" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:layout_weight="1" 
      android:text=" Bezoek tijden" /> 

     <ImageButton 
      android:id="@+id/button9" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="5dp" 
      android:layout_weight="1" 
      android:src="@drawable/rkz_logo" 
      android:gravity="center" 
      android:text="Contact" /> 

    </LinearLayout> 
+0

Пожалуйста, обратитесь это http://stackoverflow.com/questions/18507351/how-to-create-custom -button-in-android-using-xml-styles –

ответ

0

ImageButton виджет вместо Button виджет. затем используйте тег android:src, чтобы установить изображение, и android:gravity="center", чтобы установить гравитацию изображения в центр.

Надеется, что это поможет :)

UPDATE Тогда попробуйте это -

<ImageButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@mipmap/ic_launcher" //Your image icon 
     android:background="@android:drawable/btn_default_small"/> 
+0

Спасибо за ответ, однако. Это удаляет обычную кнопку и использует изображение в виде кнопки. Я хочу сохранить обычную кнопку, а в этой обычной кнопке - маленькое, другое изображение. Таким образом, у вас все еще есть квадрат как кнопка, а не изображение. –

+0

OK. Тогда попробуйте это -

+0

Это попасть туда. Изображение над кнопкой, кнопка все еще там, и это то, что я хочу. Дело в том, что изображение слишком велико, поэтому оно проходит через него и делает кнопку намного больше, чем она должна быть. Даже изображения значков из Google слишком велики. Могу ли я изменить размер кода? –

0

изменение

<Button 
      android:id="@+id/button9" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="5dp" 
      android:layout_weight="1" 
      android:background="@drawable/contact" 
      android:text="Contact" /> 

к

<ImageButton 
      android:id="@+id/button9" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="5dp" 
      android:layout_weight="1" 
      android:src="@drawable/contact" 
      android:text="Contact" /> 

если вы не хотите квадратные кнопки редактирования

<ImageButton 
       android:id="@+id/button9" 
       style="?android:attr/buttonStyleSmall" 
       android:layout_width="0dp" 
       android:layout_height="match_parent" 
       android:layout_marginLeft="5dp" 
       android:background="@android:color/transparent" 
       android:layout_weight="1" 
       android:src="@drawable/contact" 
       android:text="Contact" /> 
+0

Это удаляет обычную кнопку и использует изображение в виде кнопки. Я хочу сохранить обычную кнопку, а в этой обычной кнопке - маленькое, другое изображение. Таким образом, у вас все еще есть квадрат как кнопка, а не изображение. –

0

Попробуйте ImageButton. Как следует из названия, это кнопка с изображением. Чтобы установить изображение, выполните следующие действия:

android:src.

Надеюсь, это поможет.

+0

Это удаляет обычную кнопку и использует изображение в виде кнопки. Я хочу сохранить обычную кнопку, а в этой обычной кнопке - маленькое, другое изображение. Таким образом, у вас все еще есть квадрат как кнопка, а не изображение. –