当前位置: 首页 > 知识库问答 >
问题:

如何水平居中垂直线性布局?

乌灿
2023-03-14

我没有试图将任何视图居中,因为我的问题是,我有一条分界线应该从中间向下。为了做分割线,我做了一个LinearLayout并给它一个背景色。但是,两侧还有其他LinearLayouts。

    <LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" 
    android:gravity="center"
    android:layout_gravity="center">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:paddingRight="10dp"
        android:layout_gravity="center">

        <TextView 
            android:id="@+id/changed_text"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:text="@string/confidential" 
            android:gravity="left"/>

         <TextView 
            android:id="@+id/please_help_me"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textSize="60sp"
            android:text="@string/changed_this_too" 
            android:gravity="center_horizontal"/>
    </LinearLayout>

    <LinearLayout
    android:layout_width="1.5dp"
    android:layout_height="match_parent"
    android:background="#0097ff"
    android:orientation="vertical" 
    android:layout_marginTop="10dp"  
    android:layout_gravity="center" 
    android:gravity="center"/> 

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:paddingLeft="10dp"
        android:layout_gravity="center">

        <TextView 
            android:id="@+id/have_tried_everything"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:text="@string/indeed" 
            android:gravity="left"/>

         <TextView 
            android:id="@+id/you_are_my_last_chance"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:textSize="60sp"
            android:text="@string/yes" 
            android:gravity="center_horizontal"/>
    </LinearLayout>

</LinearLayout>

你大概可以看出中间的LinearLayout就是构成线条的那个。我已经改变了很多android:layout_width值,也改变了很多android:gravity和android:layout_gravity值,试图让它工作。但是我什么都没得到。出于某种原因,我的分割线总是在左边,从不居中。这可能与一些Android:layout _ width = " wrap _ content "值有关。

我浏览了一些指南,例如:http://thinkandroid.wordpress.com/2010/01/14/how-to-position-views-properly-in-layouts/

但到目前为止什么也没得到。

帮助将不胜感激。

共有1个答案

古弘
2023-03-14

尝试将布局宽度更改为0dp,并为第一和第三个子线性布局添加1.0的布局权重。

 类似资料:
  • 问题内容: 如何使用flexbox在容器内水平和垂直居中div。在下面的示例中,我希望每个数字都彼此相邻(按行),并水平居中。 问题答案: 我认为您想要以下内容。 你的元素应该是块级(而非)如果你想要的高度和顶部/底部填充,以正常工作。 另外,在上,将宽度设置为而不是。 您的属性很好。 如果您希望垂直居中于视口中,请为和分配100%的高度,然后将页边距清零。 请注意,需要一个高度才能看到垂直对齐效

  • 如何使用FlexBox在容器内水平和垂直地居中div。在下面的例子中,我希望每一个数字在彼此下面(在行中),水平居中。 null null http://codepen.io/anon/pen/zlxbo

  • 问题内容: 我试图将标签内容垂直居中,但是当我添加CSS样式时,水平文本对齐会消失。 如何为我的每个标签使文本对齐x和y? 问题答案: 方法1- / : 在受支持的浏览器(大多数)中,可以将/ 与组合使用, 以动态垂直/水平居中元素。 方法2-Flexbox方法: 在支持的浏览器中,将目标元素的设置为并用于垂直居中和水平居中。只是不要忘记为其他浏览器支持添加供应商前缀。 方法3- / : 在某些情

  • 我正在尝试垂直居中我的选项卡内容,但是当我添加CSS样式时,水平文本对齐消失了。 我如何使文本对齐x和y为我的每个选项卡? null null

  • 问题内容: 我弹出一个包含ASP.NET表单的弹出窗口,单击链接“请求信息”,然后出现该表单。 但是,具有链接“请求信息”以触发弹出窗口的页面包含很多内容,因此需要滚动才能看到该链接。 如果用户滚动阅读内容,则需要始终居中,否则,如果他们不滚动,弹出窗口仍将居中显示在屏幕上。 在绝对定位,整个页面宽度与边距设置为。 问题答案: 如果div具有固定的宽度和高度,请使用:(如果width = 120p

  • 问题内容: 有没有办法在 垂直和水平方向上输入一个DIV, 但这很重要, 当窗口小于内容时,内容将不会被剪切 。div必须具有背景色,宽度和高度。 我总是将div的中心定位为绝对位置和负边距,如提供的示例所示。但是它有一个问题,那就是削减内容的顶部。有没有一种方法可以将div.content居中而不会出现此问题? CSS: HTML: 我的问题不是重复的“如何在水平和垂直方向上居中放置元素?”1-