[英]Adjust TextView to Vertically center in LinearLayout (horizental)
I have four TextView
in LinearLayout
with orientation="horizontal"
.我在LinearLayout
中有四个TextView
, orientation="horizontal"
。 Below in image, I want my fourth TextView
to vertically center
with respect to other views, In simple words, I want to move my fourth TextView
a little bit up so it looks like in the center.在下图中,我希望我的第四个TextView
相对于其他视图vertically center
,简而言之,我想将我的第四个TextView
向上移动一点,使其看起来像在中心。 I tried to add layout:gravity and margins but its not working.我试图添加布局:重力和边距,但它不起作用。
Here is the code:这是代码:
<LinearLayout
android:id="@+id/tv_amenities"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_main_feature_LL"
android:layout_marginStart="10dp"
android:layout_marginBottom="10dp"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/rating_background"
android:drawableTop="@drawable/ic_food_and_restaurant"
android:padding="3dp"
android:text="Resturant"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textColor="@android:color/white" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:background="@drawable/rating_background"
android:drawableTop="@drawable/ic_tv_black_24dp"
android:padding="3dp"
android:text="LCD Tv"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textColor="@android:color/white"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:background="@drawable/rating_background"
android:drawableTop="@drawable/ic_local_parking_black_24dp"
android:padding="3dp"
android:text="Parking"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textColor="@android:color/white"
/>
<TextView
android:id="@+id/tv_plus_amenities"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginBottom="20dp"
android:background="@drawable/round_background"
android:text="+15"
android:textColor="@android:color/white" />
</LinearLayout>
Add this prop to your @+id/tv_amenities
LinearLayout将此道具添加到您的@+id/tv_amenities
LinearLayout
android:gravity="center_vertical" android:gravity="center_vertical"
Use android:layout_gravity="center_vertical" attribute in your TextView's在 TextView 中使用android:layout_gravity="center_vertical"属性
You could easily do that by adding android:layout_gravity="center_vertical"
and removing your margin bottom.您可以通过添加android:layout_gravity="center_vertical"
并删除边距底部来轻松做到这一点。
<TextView
android:id="@+id/tv_plus_amenities"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_gravity="center_vertical"
android:background="@drawable/round_background"
android:text="+15"
android:textColor="@android:color/white" />
I checked your code inside a constraint layout and it's fine.我在约束布局中检查了您的代码,这很好。 All I changed is in your last TextView:我所做的只是在您的最后一个 TextView 中:
android:layout_gravity="center"
Or或者
android:layout_gravity="center_vertical"
The layout_gravity=center looks the same as layout_gravity=center_horizontal here because they are in a vertical linear layout. layout_gravity=center 在这里看起来与 layout_gravity=center_horizontal 相同,因为它们处于垂直线性布局中。 You can't center vertically in this case, so layout_gravity=center only centers horizontally.在这种情况下,您不能垂直居中,因此 layout_gravity=center 只能水平居中。
This link can help you to fix your issue in LinearLayout or RelativeLayout.此链接可以帮助您解决 LinearLayout 或 RelativeLayout 中的问题。
You might find this link useful: What is the difference between gravity and layout_gravity in Android?您可能会发现此链接很有用: Android 中的重力和布局重力有什么区别?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.