标签: layout-gravity

layout_gravity无法正常工作

为什么我TextView不对劲?

更新:好吧,现在我不需要设置TextView为正确.现在非常有趣的是为什么layout_gravity不按预期工作,即 - 设置View到父容器内的位置.

在此输入图像描述

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:minHeight="?android:attr/listPreferredItemHeight"
              style="@style/activated_item"
              android:orientation="horizontal">

    <CheckBox
        android:id="@+id/star"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginLeft="8dp"
        style="?android:attr/starStyle"/>

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_marginLeft="8dp"
        android:layout_gravity="right" //////// HERE I AM 
        android:textStyle="bold"
        android:textColor="@color/item_text_color"/>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

layout android layout-gravity

7
推荐指数
3
解决办法
1万
查看次数

以编程方式设置ImageButton layout_gravity

我想做什么

我尝试通过Java代码设置我ImageButtonlayout_gravity,我想要ImageButton的方式就像下面图像中橙色框架内的方式一样:

图片

框是垂直LinearLayout充当"基地"布局,这是我想孩子布局添加到布局.

橙色红色都是水平LinearLayout.

橙色布局是我想要把路ImageButtonTextView,这一次是通过XML建立

的布局是我试图模仿结果橙色通过Java代码布局.

相关守则

这是设置Orange布局的XML代码,这是我想通过Java代码实现的效果:

        <!-- Begin the Orange Layout -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/info_left_padding"
            android:layout_marginRight="@dimen/info_right_padding" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:gravity="center_vertical"
                android:minHeight="@dimen/detail_min_line_item_height"
                android:text="TextView" />

            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >

                <ImageButton
                    android:id="@+id/imageButton1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="right|center_vertical"
                    android:adjustViewBounds="true"
                    android:maxHeight="@dimen/abs__action_bar_default_height"
                    android:scaleType="fitCenter"
                    android:src="@drawable/navigation_cancel" />
            </FrameLayout>
        </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

这是设置Red布局的Java代码

        int …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-linearlayout layout-gravity

7
推荐指数
1
解决办法
1万
查看次数

设置子视图的中心重力在水平布局中更改另一个子视图的布局对齐?

在我的水平LinearLayout中,我将一个视图中的重力设置为center_vertical,然后我尝试为第二个视图设置layout_gravity,但该视图与第一个视图中的居中文本对齐!

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >
    <TextView
        android:layout_width="100dp"
        android:layout_height="200dp"
        android:layout_gravity="top"
        android:background="@drawable/border"
        android:gravity="center_vertical"
        android:text="layout_gravity=top   gravity=center_vertical" >
    </TextView>            
    <TextView
        android:layout_width="100dp"
        android:layout_height="200dp"
        android:layout_gravity="top"
        android:background="@drawable/border"
        android:gravity="top"
        android:text="layout_gravity=top  gravity=top" >
    </TextView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这是相同的代码,但垂直布局. 请注意,所需行为在垂直布局中正常工作.

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView
        android:layout_width="200dp"
        android:layout_height="100dp"
        android:layout_gravity="left"
        android:background="@drawable/border"
        android:gravity="center_horizontal"
        android:text="layout_gravity=left   gravity=center_horizontal" >
    </TextView>            
    <TextView
        android:layout_width="200dp"
        android:layout_height="100dp"
        android:layout_gravity="right"
        android:background="@drawable/border"
        android:gravity="right"
        android:text="layout_gravity=right  gravity=right" >
    </TextView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我可以使用RelativeLayout或者另一个嵌套的LinearLayout来解决问题.但是我问这个问题因为我想知道我是否不理解引力和layout_gravity是如何工作的!我理解这些基本属性是如何工作对我很重要.谢谢

android gravity android-linearlayout layout-gravity

5
推荐指数
1
解决办法
2363
查看次数

如何以编程方式设置LinearLayout的重力和布局重力

我冒着写一个重复的问题的风险,但当我正在研究另一个SO问题的答案时,我意识到我找不到一个简单的问题和答案,其中包括设置一个重力和layout_gravity LinearLayout.另外,在谈论一个ViewGroup而不仅仅是一个观点时,我对它们之间的区别感到困惑.我在回答下面的问题.

以下是我查看的其他一些问题:

android gravity android-linearlayout layout-gravity

5
推荐指数
1
解决办法
2万
查看次数

如何在 NavigationView 中将菜单项重力更改为右侧

我需要在文本右侧放置一个菜单项图标(默认情况下它在左侧),那么如何在 NavigationView 中将菜单项重力更改为右侧?

因为我们不能自定义NavigationView Items,我认为这是不可能的。谁能帮我。

我的菜单 xml 文件是:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:id="@+id/menu_group_2">
        <item
            android:id="@+id/menu_settings"
            android:title="Settings" />
        <item
            android:id="@+id/menu_about"
            android:title="About" />
    </group>
</menu>
Run Code Online (Sandbox Code Playgroud)

我在布局中的导航视图是

<android.support.design.widget.NavigationView
    android:id="@+id/vNavigation"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="right"
    android:background="#ffffff"
    app:headerLayout="@layout/view_global_menu_header"
    app:itemIconTint="#8b8b8b"
    app:itemTextColor="#666666"
    android:gravity="right"
    app:menu="@menu/drawer_menu" />
Run Code Online (Sandbox Code Playgroud)

android layout-gravity navigationview

5
推荐指数
1
解决办法
5772
查看次数

将块放在ScrollView的中心

我有一个ScrollView包含一个子元素(由LinearLayout包装的元素).有时候这个孩子的身高是视口高度的一半,有时它会更大.

这里的布局:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:paddingBottom="10dp"
    android:paddingTop="10dp"
    android:background="@color/some_background">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:background="@drawable/fond_consult"
        android:orientation="vertical"
        android:weightSum="2">

        ... Some TextViews and ImageViews...

    </LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

当屏幕大小和密度较低时,子项在ScrollView中正确显示,但是当在较大的屏幕(如HDPI和XHDPI)上呈现此活动时,内容将放置在ScrollView的顶部.

有没有办法为ScrollView的唯一子项设置重力,或者如果设备屏幕大于孩子的高度,我是否必须删除scrollView?

android scrollview android-layout layout-gravity

4
推荐指数
1
解决办法
2030
查看次数

如何在linearlayout中居中相对布局

我想在这个图像上水平和垂直地居中L3,你能帮助我使用布局结构吗?右侧是菜单的当前结构.谢谢.

在此输入图像描述

这是layout.xml代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/BaseLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/mainmenu_background" >

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:scaleType="fitXY"
    android:src="@drawable/main_menu_background" />

<LinearLayout
    android:id="@+id/l1"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <!-- Top menu -->

    <LinearLayout
        android:id="@+id/l2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <RelativeLayout
            android:id="@+id/TopMenuHolder"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/main_menu_background_header"
            android:gravity="left"
            android:orientation="horizontal"
            android:visibility="visible" >

            <ImageView
                android:id="@+id/logo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:src="@drawable/logo" />

            <LinearLayout
                android:id="@+id/TopRightButtonsHolder"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:orientation="horizontal"
                android:visibility="visible" >

                <RelativeLayout
                    android:id="@+id/sinscrire"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" >

                    <ImageButton
                        android:id="@+id/login_registerbutton"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerVertical="true"
                        android:background="@color/transparent"
                        android:scaleType="fitXY"
                        android:src="@drawable/main_menu_sinscrire_button" />

                    <TextView
                        android:id="@+id/sinscrire_text"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_centerHorizontal="true"
                        android:layout_centerVertical="true" …
Run Code Online (Sandbox Code Playgroud)

android android-layout layout-gravity

4
推荐指数
1
解决办法
6433
查看次数

为什么android:layout_gravity ="right"在android xml中不起作用

我的列表视图行的xml代码是

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:baselineAligned="false"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="5"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/tv_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp" />

        <TextView
            android:id="@+id/tv_time"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_weight="2"
        android:gravity="center" >

        <ImageView
            android:id="@+id/iv_image"
            android:layout_width="50dp"
            android:layout_height="40dp"
            android:background="@drawable/app_icon_17"
            android:contentDescription="@string/empty" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_weight="2"
        android:gravity="center" >

        <Button
            android:id="@+id/btn_delete"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/btn_delete_new"
            android:focusable="false" />
    </LinearLayout>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我希望id为btn_delete的最后一个按钮保持右对齐.并且它在设计时以"图形布局"的形式显示.但是当我运行它时,在模拟器上它不起作用.

看输出:

在此输入图像描述

那么为什么删除按钮没有正确对齐?

android gravity android-layout android-linearlayout layout-gravity

4
推荐指数
2
解决办法
3万
查看次数

LinearLayout将孩子放在右侧

我试图在水平方向的线性布局中使用textview和按钮.textview应出现在开头,按钮应出现在结尾处.我认为将重力直接按到按钮就可以了,但按钮不会移动到右侧.我在想我是否应该使用相对布局?

在此输入图像描述

<\LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:orientation="horizontal">

    <TextView
        android:id="@+id/productPriceTextView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Rs 3579.0" 
        />

    <Button
        android:id="@+id/buyNowButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:text="Buy Now" />
<\/LinearLayout>
Run Code Online (Sandbox Code Playgroud)

layout android android-linearlayout layout-gravity android-relativelayout

4
推荐指数
3
解决办法
2万
查看次数

如何将单选按钮对齐到中心

我希望下图中的单选按钮center对齐.我使用了重力,但它不起作用.

在此输入图像描述 我用过这段代码

   <RadioGroup
                    android:id="@+id/qualityRadioGroup"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                    android:weightSum="5"
                    >


                    <RadioButton
                        android:id="@+id/qty1"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:gravity="center"
                        android:layout_gravity="center_vertical"
                        android:button="@drawable/radio_button_selector"
                        android:checked="false"
                        android:tag="1"/>


                    <RadioButton
                        android:id="@+id/qty2"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:padding="@dimen/s5dp"
                        android:button="@drawable/radio_button_selector"
                        android:tag="2"
                        />


                    <RadioButton
                        android:id="@+id/qty3"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:padding="@dimen/s5dp"
                        android:button="@drawable/radio_button_selector"
                        android:tag="3"
                        />


                    <RadioButton
                        android:id="@+id/qty4"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:padding="@dimen/s5dp"
                        android:button="@drawable/radio_button_selector"
                        android:tag="4"
                        />


                    <RadioButton
                        android:id="@+id/qty5"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:padding="@dimen/s5dp"
                        android:button="@drawable/radio_button_selector"
                        android:checked="false"
                        android:tag="5"/>


                </RadioGroup>
Run Code Online (Sandbox Code Playgroud)

如果我在线性布局中添加单选按钮而不是将其对齐到中心,但是在这种情况下无线电组功能不起作用.

我想要中心对齐的单选按钮以及无线电组功能,即一次只能选择一个项目.

android radio-button layout-gravity

4
推荐指数
2
解决办法
6538
查看次数