Android — android image button


Теневые тени ImageButton на Android ImageButton Drop Shadows on Android

Эта платформа для Android используется для включения тени на ImageButton . This Android platform-specific is used to enable a drop shadow on a ImageButton . Он используется в XAML, задав ImageButton.IsShadowEnabled свойство, используемое для true , а также ряд дополнительных необязательно привязываемые свойства, которые управляют тени: It’s consumed in XAML by setting the ImageButton.IsShadowEnabled bindable property to true , along with a number of additional optional bindable properties that control the drop shadow:

Кроме того его можно будет использовать с помощью C# с помощью текучего API: Alternatively, it can be consumed from C# using the fluent API:

Тень рисуется как часть ImageButton фона и фона только рисуется Если BackgroundColor свойству. A drop shadow is drawn as part of the ImageButton background, and the background is only drawn if the BackgroundColor property is set. Таким образом, тень не рисуется Если ImageButton.BackgroundColor свойства не задано. Therefore, a drop shadow will not be drawn if the ImageButton.BackgroundColor property isn’t set.

ImageButton.On Метод указывает, что этой платформы будет выполняться только в Android. The ImageButton.On method specifies that this platform-specific will only run on Android. ImageButton.SetIsShadowEnabled Метод в Xamarin.Forms.PlatformConfiguration.AndroidSpecific пространства имен, используется для управления отвечает за включение тени на ImageButton . The ImageButton.SetIsShadowEnabled method, in the Xamarin.Forms.PlatformConfiguration.AndroidSpecific namespace, is used to control whether a drop shadow is enabled on the ImageButton . Кроме того можно вызвать следующие методы для управления тени: In addition, the following methods can be invoked to control the drop shadow:

  • SetShadowColor — Задает цвет тени. SetShadowColor – sets the color of the drop shadow. Цвет по умолчанию Color.Default . The default color is Color.Default .
  • SetShadowOffset — Задает смещение тени. SetShadowOffset – sets the offset of the drop shadow. Смещение меняет направление тени приводится и указываются в виде Size значение. The offset changes the direction the shadow is cast, and is specified as a Size value. Size Структуры значения выражаются в аппаратно независимых единицах, первое значение, что расстояние до (отрицательное значение) или влево (положительное значение), а второе значение, что расстояние выше (отрицательное значение) или ниже (положительное значение) . The Size structure values are expressed in device-independent units, with the first value being the distance to the left (negative value) or right (positive value), and the second value being the distance above (negative value) or below (positive value). Значение этого свойства по умолчанию — (0.0, 0.0), тень, что приводит к приведение вокруг каждая сторона ImageButton . The default value of this property is (0.0, 0.0), which results in the shadow being cast around every side of the ImageButton .
  • SetShadowRadius — Задает радиуса размытия, используемую для отрисовки тени. SetShadowRadius – sets the blur radius used to render the drop shadow. Значение радиуса по умолчанию — 10.0. The default radius value is 10.0.

Состояние тени можно запрашивать путем вызова GetIsShadowEnabled , GetShadowColor , GetShadowOffset , и GetShadowRadius методы. The state of a drop shadow can be queried by calling the GetIsShadowEnabled , GetShadowColor , GetShadowOffset , and GetShadowRadius methods.

Результатом является то, что тень можно включить на ImageButton : The result is that a drop shadow can be enabled on a ImageButton :

android-imagebutton

У меня есть ImageButtonто, что я хочу заполнить его родительский RelativeLayoutконтейнер для его ширины, но минус несколькоdp, поэтому у него…

У меня есть listView с imageButton. Когда я нажимаю на imageButton, я пытаюсь вызвать метод в основном классе, который будет…

Я пытаюсь создать кнопку округленного изображения с помощью кода ниже, который работает, когда вы не объявляете src-изображение. Однако когда вы…

Я действительно хочу знать, как я могу использовать ImageButton для переключения на другой фрагмент. FragmentSeven-это место, где находится ImageButton и…

Я довольно опытен с Java / Eclipse, но я совершенно новичок в разработке Android, и это оказалось довольно странным зверем…

Я думал, что это легкая работа, но это не так. Я создал подактивность, в которой есть эти кнопки ImageButtons, обрабатывающие…

Я разработал свою собственную графику, состоящую из двух изображений для кнопки изображения — одного сфокусированного и одного расфокусированного. У меня…

Поэтому я попытался выбрать изображения в галерее с помощьюIntent Я пытался Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(i, RESULT_LOAD_IMAGE); Как я…

В настоящее время я разрабатываю приложение для android. У меня есть 4 макета в моем приложении(1 основной макет и 3…

Итак, у меня есть это приложение для android, которое предположительно является настольной игрой. Он имеет несколько кнопок на нем, и…

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

В моем Android-приложении все мои представления таковы: http://imgur.com/cGldE9H (повторно загружено) Я имею в виду: У меня есть LinearLayout с красным…

У меня есть ImageButtonв моем ребенке XML-макет, как это: Я программно делаю…

Im работает над простым приложением feedreader. в моем основном действии у меня есть listview, который показывает все элементы . в…

I am pretty new to android programming and I am trying to create a simple home screen replacement/launcher. Приложение работает…


Я новичок в Android и пытаюсь создать простую игру под названием SoS. Он близок к завершению, однако я не могу…

Я искал форумы, но не нашел никаких конкретных или понятных ответов на мою проблему. Я хотел бы изменить свое изображение…

Я хочу, чтобы кнопка изображения появилась на панели, но ничего не рисует. Вот мой код: skin = new Skin(Gdx.files.internal(«uiskin.json»)); texture1…

Моя домашняя страница имеет imagebutton. Когда я нажму кнопку imagebutton, Альфа imagebutton изменится на 150. Но когда я вернусь к…

У меня есть макет в моем приложении, который имеет четыре кнопки изображения. Я хочу, чтобы последние две кнопки изображения, кнопки…

В моем приложении я хочу установить ImageButton в положение таким образом и я хочу адаптировать эту кнопку таким образом для…

Я пишу приложение для Android, чтобы иметь матрицу кнопок изображения. Я протестировал его с 2 устройствами: Galaxy Note 1 (5.3″)…

Как скачать изображение, на которое указывает кнопка Image в android .Я динамически создал эту кнопку изображения, используя url-адрес изображения с…

Я здесь сегодня для моего деки приложения ! son для упрощения у меня есть объект G_Son, который является контроллером модели…

how it going? Я создаю небольшое обучающее приложение для проекта,его работа идет хорошо, за исключением проблемы форматирования im. Итак, ive…

Я пытаюсь создать gridView с кнопками изображения внутри них, поэтому при нажатии-звук испускается. Пока у меня есть gridview_layout.xml, макет для…

Что такое код, чтобы сделать кнопку изображения, чтобы оставаться в правом верхнем углу EditText, даже когда прокручивается вместо того, чтобы…

Цукерберг рекомендует:  Access - СУБД Расписание MS ACCESS

Как я могу сделать вышеуказанный вопрос? Текущее изображение кажется слишком маленьким. Я думал, что могу исправить это, сделав высоту fill_parent…

У меня есть моя деятельность с несколькими imageButtons http://postimg.org/image/4zuj7kmib/ (извините за ссылку, но у меня низкий lvl для размещения изображений…

Мне нужно загрузить изображение в parse, выбранное из галереи. Я использую imageButton, чтобы вызвать de intent и показать выбранное изображение,…

я искал в интернете и на этом сайте в частности, но я не нашел ответа на мою проблему еще. Моя…

Я пытаюсь сделать кнопку значка, что, когда пользователь нажимает на него, как эффект щелчка, цвет значка меняется. для этого я…

Есть идеи, как это сделать? Я хочу изменить размер кнопок / изображений больше, когда я щелкаю его, а затем вернуться…

Как сделать нажатой эффект, как на прикрепленных sreenshots? Нормальное состояние Прессованный

У меня есть aRecyclerView, в котором у каждого CardViewесть несколько buttons. Ниже приведен код для onClickэлементов в RecyclerView. lvOffers.addOnItemTouchListener(new RecyclerItemClickListener(getContext(),…

Я разрабатываю приложение, которое имеет gridview с 10 кнопками изображения.Теперь я реализовал метод под названием SquareImageView, чтобы настроить количество столбцов…

У меня есть gridview внутри recyclerview, в котором я поставил кнопки ImageButtons. Проблема: когда я нажимаю на любую из этих…

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

это мой код.. и я…


У меня есть следующая кнопка изображения: Который onClickListener инициализируется таким образом: holder.favourite.setOnClickListener(mFavouriteBtnListener); private View.OnClickListener mFavouriteBtnListener =…

Мой макет содержит вертушку и изображение. Спиннер настроен правильно. При нажатии на него отображается выпадающее меню. Теперь я пытаюсь добавить…

я хочу поместить imagebutton поверх предварительного просмотра камеры. это просто, если вы не хотите, чтобы переместить кнопку. макет :

Что ж…может быть, это очень просто, но я не могу найти образец того, как это сделать. Мне нужно отобразить набор…

Я разрабатываю приложение, где мне нужна схема человеческого тела, где вы можете нажать на определенные части (грудь, руки, ноги и…

Я хочу иметь любимую кнопку на моем приложении, как в Gmail Итак, когда пользователь нажимает на звезду, звезда становится желтой,…

Мне нужно создать несколько изображений, чтобы заполнить несколько элементов ImageButton, которые я определил в XML, и кнопки автоматически изменяют размер…

Change ImageButton image programmatically andro > Juned Mughal January 7, 2020 March 29, 2020 Android Examples Tutorials

ImageButton image can be easily replaceable through MainActivity.java programming file. So here is the complete step by step tutorial for Change ImageButton image programmatically android.

Note: Put both images inside drawable-hdpi folder.

Download both images from below and copy inside drawable-hdpi folder.

How to Change ImageButton image programmatically android.

Code for MainActivity.java file.

Code for activity_main.xml layout file.

Screenshot before ImageButton click :

Click here to download Change ImageButton image programmatically android project.

ImageView and ImageButton in Android

ImageView and ImageButton are used in Android application to place an image in the view. ImageButton is used to use an image as a button in your android application.

ImageView in Android

ImageView is used to show any picture on the user interface.

Following are some of the main attributes that are most commonly used:

Attribute Description
android:maxHeight Used to specify a maximum height for this view.
android:maxWidth Used to specify a maximum width for this view.
android:src Sets a drawable as the content for this ImageView.
android:scaleType Controls how the image should be resized or moved to match the size of the ImageView.
android:tint Tints the color of the image in the ImageView.

Therefore, any image that we want to display in the app should be placed under the drawable folder. This folder can be found under app → res → drawable. To insert an image, simply copy the image and then right click on drawable → Paste.

Following is the code which we need to add into the layout XML file to add an ImageView to our app screen.


A few more, commonly used attributes with ImageView

Following are some of the commonly used attributes:

  • android:background : This property gives a background color to your ImageView. When your image is not able to entirely fill the ImageView, then background color is used to fill the area not covered by the image.
  • android:padding : To provide padding or extra space inside the ImageView for the image.

All scaleType in ImageView

Here we have specified all the possible values for the attribute scaleType which can be used in your app for ImageView:

  • CENTER: Places the image in center, but does not scale it.
  • CENTER_CROP: Scales the image uniformly.
  • CENTER_INSIDE: This will place the image inside the container and the edges of the image will not overlap with that of the container, the image will be inside it.
  • FIT_CENTER: Scale the image from the center.
  • FIT_END: Scale the image from the end of the container, i.e from the right hand side.
  • FIT_START: Scale the image from the start of the container, i.e from the left hand side.
  • FIT_XY: This will fill the complete container with the image. This generally distorts the image by stretching/sqeezing it in disproportionate ratios.
  • MATRIX: Used to scale the image using the image matrix when drawing.

Using an Image as Button

Here is how you define an ImageButton in the layout XML file:

Just like a button, the setOnClickListener() can be used to set an event listener for click event on this.

ImageButton

Виджет ImageButton представляет собой кнопку с изображением (вместо текста). По умолчанию ImageButton похож на обычный элемент Button, со стандартным фоном кнопки, который изменяет цвет во время других состояний кнопки.

Изображение на поверхности кнопки определяется атрибутом android:src в элементе или в программном коде методом

Рассмотрим пример. Создайте новый проект и в диалоге Create New Project введите следующие значения:

  • Project name — ImageButtonApp;
  • Application name — ImageButton Sample;
  • Package name — сот. samples. imagebutton;
  • Create Activity — IrnageButtonActivity.

Откройте файл разметки и создайте структуру разметки с элементом ImageButton подобно листингу:

Файл разметки main.xml

В папку res/drawable/ поместите изображения для отображения состояний кнопки (можно взять готовые из прилагаемого к книге CDROM в каталоге Resources//images/ — иконки play.png и pause.png).

Для класса IrnageButtonActivity напишите код, как в листинге:

Файл класса деятельности ImageButtonActivity.java

Выполните компиляцию проекта. При нажатии кнопки будет меняться картинка на этой кнопке, как показано на рисунке:

Изменение изображения при нажатии кнопки ImageButton

Делаем красивые кнопки в Andro >


Одним из важных компонентов пользовательского интерфейса в приложения является кнопка. Она используется для выполнения различных действий пользователя.

В этой статье мы приведём примеры использования и стилизации кнопки.

Добавляем кнопку на разметку

Пользовательский интерфейс приложения определён в XML-файле с разметкой. Вы можете добавить элемент Button и установить атрибуты вручную. Или вы можете, воспользовавшись инструментом дизайна, добавить Button из палитры элементов и задать атрибуты.

Атрибуты кнопки

Button является подклассом TextView и наследует атрибуты от TextView и View. Ниже приведены некоторые важные атрибуты кнопки, которые можно использовать для настройки стиля и поведения.

  • background: установка в качестве фона как цвета, так и drawable
  • onClick: установить метод, который будет запускаться при нажатии на кнопку
  • minHeight: для определения минимальной высоты кнопки
  • minWidth: для определения минимальной ширины кнопки
  • stateListAnimator: определение анимации при изменении состояния кнопки
  • focusable: для определения того, будет ли обработано нажатие клавиши
  • clickable: указать, является ли кнопка кликабельной
  • gravity: установка выравнивания текста кнопки
  • textAppearance: установить стиль текста
Цукерберг рекомендует:  Notebook - Ноутбук для программиста

Включение и выключение кнопки

Вы можете использовать атрибут enabled для включения или выключения кнопки, установив его в true или false. Также это можно сделать программно, вызвав метод setEnabled(), как показано ниже:

Кнопка с Drawable

Вы можете отображать на кнопке вместе с текстом изображение, используя drawableTop, drawableRight, drawableBottom или drawableLeft, в зависимости от того, где располагать картинку, как показано на скриншоте ниже.

ImageButton

Android также предоставляет ImageButton, задачей которого является использование изображения в качестве кнопки. Чтобы установить изображение, вы можете использовать атрибут src. Вы также можете использовать разные изображения, которые будут меняться в зависимости от состояния кнопки, меняя в XML drawable selector как показано ниже.

Пример XML drawable selector

Обработка нажатий на кнопку

Клики можно обрабатывать двумя способами. Первый — это установить атрибут onClick в разметке XML. Второй — назначить кнопке слушатель в коде активности или фрагмента.

Чтобы установить атрибут onClick, сначала определите метод типа void, принимающий в качестве параметра View, в активности или фрагменте и затем используйте имя этого метода как значение для атрибута onClick, как показано ниже.

Ниже приведён код обработки нажатия с помощью слушателя.

Дизайн и стили кнопок

Вы можете применять стили и темы для изменения внешнего вида кнопок. Платформа Android предоставляет заранее определённые стили. На рисунке ниже вы можете увидеть, как отображаются кнопки с различными стилями.

Пример применения темы для кнопки.

Настройка стилей кнопок

Вы можете изменить цвета по умолчанию для стилей, применяемых к кнопке, установив атрибут colorAccent на уровне приложения и атрибут colorButtonNormal на уровне виджета для нужных цветов. Атрибут colorControlHighlight используется для установки цвета кнопки, когда она находится в нажатом состоянии.


Как только вы определите собственный стиль, вы можете применить его к кнопкам с помощью атрибута theme. Ниже приведен пример пользовательской темы.

Кнопка с закруглёнными углами

Вы можете определить элемент inset, как показано ниже, чтобы создать кнопку с закруглёнными углами и сохранить файл с drawable в папке res/drawable. Вы можете увеличить или уменьшить атрибут радиуса элемента, чтобы отрегулировать радиус углов кнопки.

Затем определите стиль, задающий атрибут background для xml drawable и примените его к кнопке с помощью атрибута style.

Высота и тень кнопки

Вы можете установить атрибуты elevation и translationZ, чтобы нарисовать тень кнопки.

Настройка анимации тени

Вы можете определить различные свойства теней для разных состояний кнопки и анимировать переход путём определения селектора. Вы можете применить аниматор к кнопке, используя свойство stateListAnimator.

Обратите внимание, что stateListAnimator установлен в null в приведённом выше примере. Это было сделано для удаления аниматора по умолчанию, чтобы elevation и translationZ работали.

Чтобы настроить анимацию тени при изменении состояния кнопок, вам нужно определить селектор, как показано ниже, в папке res/animator и установить свойство stateListAnimator своей темы для определённого аниматора.

Примените следующую тему, которая использует аниматор, к кнопке с использованием атрибута style или theme.

Простая кнопка логина

Совмещая всё вышесказанное, можно создать красивую кнопку, позволяющую, например, заходить пользователям на свои аккаунты. Код разметки будет выглядеть следующим образом:

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

Метод setCompoundDrawablesWithIntrinsicBounds() делает то же, что и атрибуты drawableLeft, drawableTop и так далее. В качестве параметров нужно указать, где именно будет размещаться изображение (указываем null в случае, если здесь изображение не нужно).

Android ImageButton Example

Posted by: Ilias Tsagklis in ImageButton January 15th, 2013 0 Views

In Android you can use the ImageButton component to display a normal Button with a custom image as a background. The ImageButton has all the properties of a normal button. So, in this tutorial when the user clicks on the ImageButton , a ClickListener will be called (just like it would with a normal Button…) and display a short message on the screen.

For this tutorial, we will use the following tools in a Windows 64-bit platform:

  1. JDK 1.7
  2. Eclipse 4.2 Juno
  3. Android SKD 4.2

1. Create a new Android Project

Open Eclipse IDE and go to File -> New -> Project -> Android -> Android Application Project and click Next.

You have to specify the Application Name, the Project Name and the Package name in the appropriate text fields and then click Next.


In the next window make sure the “Create activity” option is selected in order to create a new activity for your project, and click Next. This is optional as you can create a new activity after creating the project, but you can do it all in one step.

Select “BlankActivity” and click Next.

You will be asked to specify some information about the new activity. In the Layout Name text field you have to specify the name of the file that will contain the layout description of your app. In our case the file res/layout/main.xml will be created. Then, click Finish.

2. Adding resources

Use the Package Explorer in Eclipse to navigate to res/values/strings.xml

When you open the strings.xml file, Eclipse will display the graphical Resources View editor :

That’s a nice and easy tool you can use to add several resources to your application like strings, integers, color values etc. But we are going to use the traditional way and that is editing the strings.xml file by hand. In the bottom of the screen, press the string.xml tab and paste the following code :

So, we’ve just created some string resources that we can use in many ways and in many places in our app.

3. Adding a picture in the appropriate project folder

As you would have noticed in the Package explorer, there are 4 folders that contain the image resources of the project :

  1. res/drawable-hdpi
  2. res/drawable-ldpi
  3. res/drawable-mdpi
  4. res/drawable-hdpi

You can copy the images you want to put in you’re application in any one of these folders. Android SDK will automatically recognize any images you put on any one of these folders as drawable resources. So, copy the images in the folder you want. If the image does not appear in the Package Explorer under the folder you’ve copied it into, right click on the project name and select Refresh. Now the image should be under the correct folder. As you can see, I’ve an image in res/drawable-hdpi which was there by default, so I’m just going to use that:

4. Create the main layout of the Application

Open res/layout/main.xml file :

And paste the following code :

Now you may open the Graphical layout editor to preview the User Interface you created:

5. Code

Go to the java file that contains the code of the activity you’ve just created:

And paste the following code:

The above code is pretty straight forward. When we press the image button, a short message will be displayed.

6. Run the application

This is the main screen of our Application. Remember that the image is also a button:

Andro >

Как создать ImageButton без рамки (только изображение должно быть видимым)? imageButton.setBackgroundDrawable(null) можно достичь, установив значение imageButton.setBackgroundDrawable(null) , но это также устраняет цвета фокуса и выбора.


Цель состоит в том, что изначально видно только изображение без границ. Но когда пользователь фокусирует / затрагивает / нажимает на изображение, это должно указываться путем подсветки изображения, как обычные кнопки.

Как уже упоминалось, безграничный ButtonStyle, встроенный в темы по умолчанию на API11 и выше, является самым простым способом достижения этого эффекта. Вы упомянули, что создаете свои кнопки в коде Java вместо XML, поэтому есть два варианта в зависимости от того, как вам нужно применять стиль.

Цукерберг рекомендует:  Оцените сайт - Оцените проект (дизайн, функционал, понятность и т.д.)

Вариант №1: добавьте его в тему

Если все экземпляры Button или ImageButton в вашем приложении (или, по крайней мере, внутри Activity) должны использовать этот стиль, добавьте стиль в свою тему:

Применив эту тему к вашему Приложению или Деятельности, вам не придется объявлять стиль каждого элемента, вы можете просто объявить их как

И стиль будет снят с темы.

Вариант №2: объявить его в конструкторе

Если вам нужно создать только пару кнопок, вы можете передать атрибут стиля, который хотите применить непосредственно к каждому виду, например:

Эта версия предоставляет другой атрибут стиля по умолчанию для используемого виджета.

Использовать borderlessButtonStyle для ImageButton

Ref: Google I / O 2013 – разработка Android для разработчиков пользовательского интерфейса

Используйте селектор для фона следующим образом:

/res/drawable/my_selector.xml

my_drawable – это то, что вам нужно, как ваша граница.

Тогда ваш ImageButton

your_bitmap – это ваше фактическое изображение.

Ваш ответ здесь, в комментариях Ник Батчер и Роман Нурик к Google I / O 2013 о разработке Android для разработчиков пользовательского интерфейса.

Единственная проблема с этим подходом заключается в том, что style=»?android:borderlessButtonStyle» доступен для API 11 и выше, поэтому, если вы хотите, чтобы такое же поведение было в любом API до 11, вам придется придерживаться селекторов.

Кстати, я очень рекомендую вам посмотреть весь разговор, потому что это действительно интересно.

Вы должны добавить

И это будет работать …

Вот в вашем XML-файле:

Надеюсь, что эта помощь

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


Вы можете создавать разные изображения для кликов / не нажатых состояний и устанавливать их в onTouchListener, как показано в выбранном ответе для этого сообщения SO.

Затем вы можете вернуть изображение назад к предыдущему изображению в столбце postclick или щелкнуть мышью.

Android: объединение текста и изображения на Button или ImageButton

Я пытаюсь создать изображение (в качестве фона) на кнопке и динамически добавлять, в зависимости от того, что происходит во время выполнения, некоторый текст над/над изображением.

Если я использую ImageButton , у меня даже нет возможности добавлять текст. Если я использую Button , я могу добавить текст, но только определить изображение с android:drawableBottom и аналогичными атрибутами XML, как определено здесь.

Однако эти атрибуты объединяют только текст и изображение в x- и y-измерениях, то есть я могу нарисовать изображение вокруг моего текста, но не ниже/под моим текстом (с осью z, определяемой как выход из дисплея).

Любые предложения о том, как это сделать? Одна из идей заключалась бы в том, чтобы либо расширить Button , либо ImageButton и переопределить метод draw() . Но с моим текущим уровнем знаний я действительно не знаю, как это сделать (2D-рендеринг). Может быть, кто-то с большим опытом знает решение или, по крайней мере, некоторые указатели, чтобы начать?

Вы можете вызвать setBackground() для Button чтобы установить фон кнопки.

Любой текст появится над фоном.

Если вы ищете что-то похожее в xml, есть атрибут: android:background который работает так же.

Для пользователей, которые просто хотят помещать Background, Icon-Image и Text в один Button из разных файлов: установите на фон Button , drawableTop/Bottom/Rigth/Left и padding атрибуты.

Для более сложной компоновки вы также можете использовать RelativeLayout и сделать ее интерактивной.

Там гораздо лучшее решение для этой проблемы.

Просто возьмите нормальный Button и используйте атрибуты drawableLeft и gravity .

Таким образом вы получаете кнопку, которая отображает значок в левой части кнопки и текст в правом месте значка с вертикальной ориентацией.

Просто используйте LinearLayout и притворитесь, что это Button — настройка background , а нажатие клавиши — это ключ:

izz довольно хороший трюк..;)

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

Я использую стиль для создания пользовательской кнопки с изображением слева и текста в центре справа. Просто выполните 4 «простых шага» ниже:

я. Создайте свои 9 патчей, используя по крайней мере 3 разных файла PNG и инструмент, который у вас есть:/YOUR_OWN_PATH/android-sdk-mac_x86/tools/./draw9patch. После этого вы должны:

button_normal.9.png, button_focused.9.png и button_pressed.9.png

Затем загрузите или создайте значок 24×24 PNG.

Сохраните все в папке drawable/в вашем проекте Android.

II. Создайте XML файл с именем button_selector.xml в своем проекте в папке drawable/. Состояния должны быть такими:


III. Перейдите в папку values ​​/и откройте или создайте файл styles.xml и создайте следующий код XML:

ButtonNormalTextWithIcon — это «дочерний стиль», потому что он расширяет ButtonNormalText ( «родительский стиль» ).

Обратите внимание, что изменение drawableLeft в стиле ButtonNormalTextWithIcon, на drawableRight, drawableTop или drawableBottom вы можете поместить значок в другое положение относительно текста.

IV. Перейдите в макет/папку, в которой у вас есть XML для пользовательского интерфейса, и перейдите к кнопке, где вы хотите применить стиль, и сделайте так:

И. вуаля! Вы получили свою кнопку с изображением слева.

Для меня это лучший способ сделать это! потому что при этом вы можете управлять размером текста кнопки отдельно от значка, который хотите отобразить, и использовать один и тот же фон для нескольких кнопок с разными значками в соответствии с Руководством пользователя UI с использованием стилей.

Вы также можете создать тему для своего приложения и добавить к ней «родительский стиль», чтобы все кнопки выглядели одинаково и применяли «дочерний стиль» с помощью значка только там, где он вам нужен.

Android — android image button

The ImageButton will display button with an image. The image can be a PNG or, under certain circumstances, an SVG resource.

This recipe will discuss how to set the image displayed in an ImageButton , either declaratively in an Android layout file or programmatically in code.

Using a PNG in an ImageButton

It is possible to use a PNG image on all Android API levels.

Create a new Xamarin.Android application named ImageButtonDemo .

Add an image named myButtonImage.png under the Resources > drawable folder in your IDE.

Replace the Button declaration in Main.axml with the following,

In MainActivity.cs, change the type from Button to ImageButton .

Using an SVG in an ImageButton

Starting in Android 5.0 (API level 21), Android introduced limited support for SVG drawable resources, making it possible to use SVG resources in an ImageButton . Backwards compatibility to API level 7 is provided with the Xamarin Android Support Library v7 AppCompat NuGet package.

Add the Xamarin Android Support Library v7 AppCompat NuGet package to your application.

Add a new XML file to the Resources/drawable folder of your application. The Build Action of the file should be AndroidResource. The following snippet is a file named ic_android.xml:

Next, edit the layout file of the activity, and add a new ImageButton widget to the layout. Set the app:srcCompat attribute to the SVG resource that was added in the previous step:

It may be necessary to define the app namespace in the root layout for the XML file:

Programatically Setting the Image Button

It is possible to programmatically set an image in an ImageButton by calling the ImageButton.SetImageDrawable method and providing a Drawable object. Android 5.0 and higher can load SVG images. For older versions of Android, it may be necessary to first load the SVG image using the VectorDrawableCompat.Create method. The following snippet shows how to programatically load and set the image in a in ImageButton :

The ImageButton class behaves like a Button , adding support for showing displaying an image on the button’s surface. The layout of the can be managed with the various android layout attributes as shown above, where we set the margin and the padding.

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих