<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_rect_green_half_circle"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="@string/health_consult_ordinary_doctor"
android:textColor="@color/white"
android:textSize="15.3dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="18dp"
android:text="2次"
android:textColor="@color/white"
android:textSize="15.3dp" />
</LinearLayout>
它的运行方式如下:
一切似乎都运行良好,但是当我在TextView
中添加一个drawable时,它变得很奇怪。就像这样:
后续代码:(请注意:android:drawablePadding
无效)
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_rect_green_half_circle"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableLeft="@drawable/titlebar_consult_v6"
android:drawablePadding="10.7dp"
android:gravity="center"
android:text="@string/health_consult_ordinary_doctor"
android:textColor="@color/white"
android:textSize="15.3dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="18dp"
android:text="2次"
android:textColor="@color/white"
android:textSize="15.3dp" />
</LinearLayout>
所以问题是如何同时将TextView
中的文字和图标居中。我知道可以通过在布局中编写ImageView
和TextView
来解决此问题,但是有任何解决方案吗?
我在网上搜索了很长时间,但一无所获。请帮助或尝试提供一些有关如何实现这一目标的想法。
已编辑:我发现:当我在android:layout_width="wrap_content"
中设置TextView
时,它可以正常运行。但是当我设置android:layout_width="wrap_content"
和android:layout_weight="1"
时,它不起作用。谁能告诉我为什么?
答案 0 :(得分:2)
试试这个,我又添加了一个LinearLayout
并将TextView
放入其中
<LinearLayout
android:background="@drawable/shape_rect_green_half_circle"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:gravity="center"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_width="0dp">
<TextView
android:drawableLeft="@drawable/titlebar_consult_v6"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/health_consult_ordinary_doctor"
android:textColor="@color/white"
android:textSize="15.3dp" />
</LinearLayout>
<TextView
android:layout_height="wrap_content"
android:layout_marginRight="18dp"
android:layout_width="wrap_content"
android:text="2次"
android:textColor="@color/white"
android:textSize="15.3dp" />
</LinearLayout>
答案 1 :(得分:0)
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
<TextView
android:id="@+id/txt_swift"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2次"
android:textColor="@android:color/white"
android:textSize="@dimen/_18dp"
android:drawableLeft="@drawable/titlebar_consult_v6"
android:drawablePadding="@dimen/_15dp"
android:gravity="center"/>
</LinearLayout>
像这样添加
答案 2 :(得分:0)
也许使用SpannableString来获得类似的结果。像这样:
SpannableStringBuilder builder = new SpannableStringBuilder(text);
Bitmap image = BitmapFactory.decodeResource(context.getResources(), drawableId);
builder.setSpan(new ImageSpan(context, image, ImageSpan.ALIGN_BASELINE),
index , index+1, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
答案 3 :(得分:0)
编辑答案:检查一下:它运行正常
=