Изображение кнопки полное изображение, закругленные углы - PullRequest
5 голосов
/ 07 ноября 2011

Хорошо .. У меня есть несколько кнопок ImageButton в моем приложении для Android. Я хочу, чтобы они отображали полную картину. Я имею в виду: я хочу, чтобы кнопка ImageButton была просто картинкой, понимаете?

Хорошо ... пока все хорошо ... Я могу сделать это, используя свойство "background".

Однако я также хочу, чтобы в ImageButton углы были закруглены.

В моей папке макета есть следующий xml:

    <?xml version="1.0" encoding="UTF-8"?>
        <shape xmlns:android="http://schemas.android.com/apk/res/android">
            <solid android:color="#FFFFFFFF"/>
            <corners android:radius="10dip"/>
            <stroke android:width="8dip"/>
        <size android:height="8dip"/>    
        </shape>

Это прекрасно работает, когда я не хочу, чтобы изображение заполняло ВСЮ кнопку изображения ... однако, когда я пытаюсь использовать изображение для использования всей кнопки изображения ... оно не показывает закругленные углы.

Кто-нибудь может мне помочь, пожалуйста?

Бонусный вопрос: Кроме того, как я могу иметь красивую черную линию (закругленные углы) вокруг кнопки изображения?

Ответы [ 3 ]

10 голосов
/ 07 ноября 2011

Я могу предложить вам использовать ImageView вместо ImageButton и перехватить его onClick (). И вы можете использовать этот xml-файл, чтобы придать вашему изображению тонкий черный контур с закругленными краями:

image_bg.xml: (вставьте этот XML-файл в папку для рисования)

<?xml version="1.0" encoding="UTF-8" ?> 
  <shape xmlns:android="http://schemas.android.com/apk/res/android">
  <solid android:color="#000000" /> 
  <stroke android:width="3dp" android:color="#776da8" /> 
  <corners android:bottomRightRadius="5dp" android:bottomLeftRadius="5dp" android:topLeftRadius="5dp" android:topRightRadius="5dp" /> 
  <padding android:left="2dp" android:top="2dp" android:right="2dp" android:bottom="2dp" /> 
  </shape>

Вы можете использовать его (в XML-файле, в который вы добавили изображение), например:

<ImageView android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/image" 
           android:src="@drawable/icon"
           android:background="@drawable/image_bg" /> 
2 голосов
/ 07 ноября 2011

Какая польза от кнопки изображения?В настоящее время я работаю над декой и столкнулся с той же проблемой.Затем я понял, что для того, чтобы использовать его как кнопку, это не обязательно должна быть кнопка с изображением.Теперь я просто использую imageview, а затем использую onclick.Что касается эстетики черной линии, я не знаю, но мои изображения имеют закругленные углы, потому что я ввел изображения, создав иконки под новыми / другими / значками Android.Это автоматически делает один в каждой разной категории размера.Надеюсь, это поможет!

1 голос
/ 07 ноября 2011

Я верю, что это поможет вам.Возможно, вы сможете немного подкорректировать его, добавив черные границы при рисовании нового растрового изображения.

Как создать ImageView с закругленными углами?

Затем можно простоприкрепить обработчик onClick к представлению изображения.

...