У меня есть небольшая проблема с моим меню. У меня есть 3 текстовых поля, охватывающих всю ширину устройства. Каждый текст должен содержать текст и изображение выше.Android textview drawabletop alignment
Проблемы: Изображение всегда показывает на границе моего TextView под TextView открытое пространство добавляется (если удалить изображение, ниже пространство переборщили)
Я хочу значок и текст, который будет выровнен в центре моего текста как «1».
Текущий частичный код: (значок добавляется вне XML так не видно в этом коде, и я удалил некоторый код, который не имеет ничего общего с этой частью)
<RelativeLayout 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:background="@color/backgroundBlue"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<LinearLayout
android:id="@+id/llMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal" >
<com.olbrecht.thescienceofwinning.SquareTextView
android:id="@+id/menu_ebook"
android:text="@string/menu_ebook"
android:textColor="@color/white"
android:layout_width="0dp"
android:layout_height ="fill_parent"
android:layout_weight="1"
android:gravity="center_vertical|center_horizontal"
android:background="@color/menuBlue" />
<com.olbrecht.thescienceofwinning.SquareTextView
android:id="@+id/menu_library"
android:text="@string/menu_library"
android:textColor="@color/white"
android:layout_width="0dp"
android:layout_height ="fill_parent"
android:layout_weight="1"
android:gravity="center_vertical|center_horizontal"
android:background="@color/menuBlue"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp" />
<com.olbrecht.thescienceofwinning.SquareTextView
android:id="@+id/menu_faq"
android:text="@string/menu_faq"
android:textColor="@color/white"
android:layout_width="0dp"
android:layout_height ="fill_parent"
android:layout_weight="1"
android:gravity="center_vertical|center_horizontal"
android:background="@color/menuBlue" />
</LinearLayout>
</RelativeLayout>
Примечание: Размер моего textview различается на каждом устройстве, в зависимости от ширины высота выравнивается по ширине, делая квадрат.
поэтому не использовать «drawableTop», просто использовать " background " – pskink
Фоновый рисунок сделает значок шириной/высотой текста и поместит его текст поверх него? + удаление цвета фона? – ZackWhite
Если вы не хотите автоматически заполнять оси x и y, используйте атрибут гравитации BirmapDrawable, вы можете использовать rhis. Можно использовать вместе с любым другим, помещающим их в LayerDrawable – pskink