Как показать текст на ImageButton?
У меня есть ImageButton, и я хочу показать текст и изображение на нем. Но когда я пытаюсь
<ImageButton
android:text="OK"
android:id="@+id/buttonok"
android:src="@drawable/buttonok"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
Я получаю эмулятор, у кнопки есть изображение, но без текста. Как я могу показать текст, пожалуйста, помогите мне!
Ответы
Ответ 1
Поскольку вы не можете использовать android:text
, я рекомендую вам использовать обычную кнопку и использовать один из составных чертежей. Например:
<Button
android:id="@+id/buttonok"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/buttonok"
android:text="OK"/>
Вы можете поместить выталкиваемый, где хотите, с помощью: drawableTop
, drawableBottom
, drawableLeft
или drawableRight
.
UPDATE
Для кнопки это тоже работает очень хорошо. Ввод android:background
в порядке!
<Button
android:id="@+id/fragment_left_menu_login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_bg"
android:text="@string/login_string" />
У меня была эта проблема и она отлично работает.
Ответ 2
Технически можно поместить надпись на кнопку изображения, если вы действительно хотите это сделать. Просто поставьте текстовое изображение над кнопкой изображения, используя FrameLayout. Просто не забудьте сделать Textview доступным.
Пример:
<FrameLayout>
<ImageButton
android:id="@+id/button_x"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@null"
android:scaleType="fitXY"
android:src="@drawable/button_graphic" >
</ImageButton>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:clickable="false"
android:text="TEST TEST" >
</TextView>
</FrameLayout>
Ответ 3
Собственно, android:text
не является аргументом, принятым ImageButton
но, если вы пытаетесь получить кнопку с указанным фоном (не по умолчанию для android), используйте атрибут android:background
xml или объявите его из класса с помощью .setBackground();
Ответ 4
вы можете использовать обычный Button
и атрибут android: drawableTop (или слева, справа, снизу).
Ответ 5
Лучший способ:
<Button
android:text="OK"
android:id="@+id/buttonok"
android:background="@drawable/buttonok"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
Ответ 6
Вместо Button
вы можете использовать LinearLayout
его расположение, которое я использовал в своем приложении
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:background="@color/mainColor"
android:orientation="horizontal"
android:padding="10dp">
<ImageView
android:layout_width="50dp"
android:layout_height="50dp"
android:background="@drawable/ic_cv"
android:textColor="@color/offBack"
android:textSize="20dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="@string/cartyCv"
android:textColor="@color/offBack"
android:textSize="25dp" />
</LinearLayout>
Ответ 7
Я решил это, поставив ImageButton
и TextView
внутри a LinearLayout
с вертикальной ориентацией. Прекрасно работает!
<LinearLayout
android:id="@+id/linLayout"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageButton
android:id="@+id/camera_ibtn"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_gravity="center"
android:background="@drawable/camera" />
<TextView
android:id="@+id/textView2"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/take_pic"
android:textColor="#FFFFFF"
android:textStyle="bold" />
</LinearLayout>
Ответ 8
Вот пример симпатичного круга:
drawable/circle.xml
:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#ff87cefa"/>
<size
android:width="60dp"
android:height="60dp"/>
</shape>
И затем кнопка в вашем XML файле:
<Button
android:id="@+id/btn_send"
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/circle"
android:text="OK"/>
Ответ 9
Ребята Мне нужно разработать кнопку настройки и выхода из системы, я использовал приведенный ниже код.
![введите описание изображения здесь]()
<Button
android:id="@+id/imageViewLogout"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_margin="@dimen/size_30dp"
android:layout_alignParentLeft="true"
android:text="Settings"
android:drawablePadding="10dp"
android:background="@android:color/transparent"
android:layout_alignParentBottom="true"
android:drawableTop="@drawable/logout" />
Ответ 10
ImageButton
не может иметь text
(или, по крайней мере, android:text
не указан в его атрибутах).
Трюк:
Похоже, вам нужно использовать Button
(и посмотреть drawableTop
или setCompoundDrawablesWithIntrinsicBounds(int,int,int,int))
.