首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法将ImageButton垂直居中

无法将ImageButton垂直居中
EN

Stack Overflow用户
提问于 2019-05-10 03:56:04
回答 1查看 45关注 0票数 0

我有一个小问题,我似乎不能解决。我创建了一个ImageButton和一个TextView。它们位于彼此下方,但我希望它们垂直和水平居中。我已经得到它的水平,但无论我做什么....我不能让它垂直居中(所以在屏幕的中间)。下面是我的代码:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#0e2a56"
    android:weightSum="100">
    <ImageButton
        android:src="@drawable/add"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="25"
        android:id="@+id/imageButton1"
        android:gravity="center_vertical|center_horizontal"  />
    <TextView
        android:text="Add project"
        android:textColor="#FFFFFF"
        android:textSize="35dp"
        android:textStyle="bold"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minWidth="25px"
        android:minHeight="25px"
        android:id="@+id/textView1"
        android:gravity="center_vertical|center_horizontal" />
</LinearLayout>

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-10 09:24:26

当我们使用LinearLayout布局时:

  • 当为android:orientation="vertical"时,android:layout_gravity仅适用于水平方向,而不适用于垂直方向。Left、rightcenter_horizontal是垂直方向,android:layout_gravity仅适用于垂直垂直方向,而不适用于水平方向。渲染了topbottomcenter_vertical

所以如果你想居中显示图片按钮和文本视图,你可以将它们包装在RelativeLayout中,如下所示:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="#0e2a56"
  >
  <LinearLayout 
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:orientation="vertical"
     android:layout_centerInParent="true"
     android:gravity="center_horizontal"
     >
    <ImageButton
      android:src="@drawable/add"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageButton1"

      />
    <TextView
      android:text="Add project"
      android:textColor="#FFFFFF"
      android:textSize="35dp"
      android:textStyle="bold"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:minWidth="25px"
      android:minHeight="25px"
      android:id="@+id/textView1"
      />
 </LinearLayout>
</RelativeLayout>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56066693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档