首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

LinearLayout水平重力setGravity()不能以编程方式工作

LinearLayout是Android中的一个布局容器,用于在水平或垂直方向上排列子视图。setGravity()是LinearLayout的一个方法,用于设置子视图在容器中的对齐方式。

然而,setGravity()方法在设置水平重力时,不能以编程方式生效的原因可能有以下几点:

  1. 布局方向设置错误:LinearLayout有两种布局方向,分别是水平(HORIZONTAL)和垂直(VERTICAL)。如果布局方向设置为垂直,那么设置水平重力是无效的。需要确保LinearLayout的布局方向为水平。
  2. 子视图宽度设置错误:如果子视图的宽度设置为"wrap_content",那么设置水平重力是无效的。因为子视图的宽度会根据内容自适应,无法对齐到容器的边界。需要将子视图的宽度设置为"match_parent"或具体的数值。
  3. 子视图权重设置错误:如果子视图的权重(weight)属性设置不当,也会导致水平重力无效。权重属性用于控制子视图在容器中的占比,如果子视图的权重不为0且总权重不为1,那么设置水平重力可能会被覆盖。需要确保子视图的权重设置正确。

综上所述,要使LinearLayout的水平重力setGravity()方法以编程方式生效,需要确保布局方向为水平,子视图的宽度设置为"match_parent"或具体数值,子视图的权重设置正确。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android编程自定义对话框(Dialog)位置及大小的方法

本文实例讲述了Android编程自定义对话框(Dialog)位置及大小的方法。...Dialog"); /* * 获取圣诞框的窗口对象及参数对象以修改对话框的布局设置, * 可以直接调用getWindow(),表示获得这个Activity的Window * 对象,这样这可以以同样的方式改变这个...负值忽略. * 当参数值包含Gravity.BOTTOM时,对话框出现在下边,所以lp.y就表示相对下边的偏移,负值忽略. * 当参数值包含Gravity.CENTER_HORIZONTAL时 * ,对话框水平居中...,所以lp.x就表示在水平居中的位置移动lp.x像素,正值向右移动,负值向左移动. * 当参数值包含Gravity.CENTER_VERTICAL时 * ,对话框垂直居中,所以lp.y就表示在垂直居中的位置移动...,负值向左移动. * gravity的默认值为Gravity.CENTER,即Gravity.CENTER_HORIZONTAL | * Gravity.CENTER_VERTICAL. * * 本来setGravity

2.7K31
  • 【Android从零单排系列二十九】《Android布局介绍——LinerLayout》

    一 LinerLayout基本介绍 LinearLayout(线性布局)是一种在Android中常用的布局管理器,用于在水平或垂直方向上排列子视图。...布局属性:通过在子视图的布局参数中设置不同的权重、对齐方式和填充方式,可以灵活控制每个子视图在LinearLayout中的位置和大小。...setGravity(int gravity):设置LinearLayout内部子视图的对齐方式。...这些方法和属性可以用于灵活地控制LinearLayout布局的方向、对齐方式、权重分配等,以满足不同的布局需求。其中,方法可以通过编程方式进行设置,而属性可以在XML布局文件中进行设置。...这个简单的LinearLayout案例展示了如何在垂直方向上排列文本和按钮,并通过android:layout_gravity属性实现水平居中对齐。

    23930

    Android Toast的几种使用方式「建议收藏」

    Toast是Android中常用的组件,下面介绍下Toast使用的几种方式和注意事项。 Toast的使用方式简单来说有下面五种: 1、默认的显示 // 第一个参数:当前的上下文环境。...(Gravity.TOP|Gravity.CENTER, -50, 100); //屏幕居中显示,X轴和Y轴偏移量都是0 //toast.setGravity(Gravity.CENTER, 0,...imageView= new ImageView(mContext); //设置图片 imageView.setImageResource(R.drawable.image); //获得toast的布局 LinearLayout...toastView = (LinearLayout) toast.getView(); //设置此布局为横向的 toastView.setOrientation(LinearLayout.HORIZONTAL...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.9K20

    Kotlin入门(19)Android的基础布局

    线性布局 线性布局LinearLayout是最常用的布局,顾名思义,它下面的子视图像是用一根线串了起来,所以其内部视图的排列是有顺序的,要么从上到下垂直排列,要么从左到右水平排列。...LinearLayout.HORIZONTAL表示水平布局,LinearLayout.VERTICAL表示垂直布局。 2. setGravity: 设置内部视图的对齐方式。...savedInstanceState)         setContentView(R.layout.activity_linear_layout)         //设置ll_margin内部视图的排列方式水平排列...        ll_margin.orientation = LinearLayout.HORIZONTAL         //设置ll_margin内部视图的对齐方式为居中对齐        ...Kotlin允许对属性orientation直接赋值,从而取代了setOrientation方法;类似的还有属性gravity取代了setGravity方法; 2.

    2K10

    【Android 应用开发】AndroidUI设计之 布局管理器 - 详细解析布局实现

    (控制内部子元素)   xml属性 : android:gravity;  设置方法 : setGravity(int);  作用 : 设置布局管理器内组件(子元素)的对齐方式,  支持的属性 :  top...包含的子元素可以执行下面的属性. (1) 对齐方式 xml属性 : android:layout_gravity; 作用 : 指定该元素在LinearLayout(父容器)的对齐方式, 也就是该组件本身的对齐方式...RelativeLayout支持的属性 (1) 对齐方式 xml属性 : android:gravity; 设置方法 : setGravity(int); 作用 : 设置布局容器内子元素的对齐方式, 注意与...-- LinearLayout默认是水平的, 这里设置其方向为垂直 --> <!...xml属性 : android:layout_gravity; 设置方法 : setGravity(int); 作用 : 设置该组件采用何种方式占据该网格的空间; (4) 设置行位置 xml属性 :

    2.4K40

    android toast的用法_toast 安卓

    (Gravity.CENTER, 0, 0); LinearLayout toastView = (LinearLayout) toast.getView(); ImageView imageCodeProject...(译者注:只有使用setView(View)的时候,才使用new Toast(Content content)来得到Toast对象,否则必须用makeText()方法来创建toast对象,并且这种方式获得...//注意:设置过大不起作用,duration的实际可用最大值为3500,即最多只能显示3.5s public void setGravity(int gravity, int xOffset, int...(译者注:自定义Toast的显示位置,例如toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0)可以把Toast定位在左上角。...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1K10

    【Android应用开发】EasyDialog 源码解析

    还可以设置动画执行监听器; AnimatorSet 简介 :  -- 功能 : 按照特定顺序执行一个 Animator 动画集合, 动画可以一起执行, 先后执行, 延迟执行; -- 添加动画 : 有两种方式向...屏幕填充设置 设置是否填充屏幕 :  /** * 设置是否填充屏幕,如果填充就适应布局内容的宽度,显示内容的位置会尽量随着三角形的位置居中 */ public EasyDialog setMatchParent...llContent.setLayoutParams(layoutParams); return this; } -- 填充屏幕样式 : 可以看到 填充全屏, 左右只留下了 margin; -- 填充屏幕样式...public static final int DIRECTION_X = 0; /** 纵向 */ public static final int DIRECTION_Y = 1; /** * 水平动画...float... values) { return setAnimationTranslation(true, direction, duration, values); } /** * 水平动画

    1.1K20

    最简单最常用的LinearLayout线性布局

    一、认识LinearLayout 线性布局是Android中较为常用的布局方式,使用标签。线性布局主要有两种形式,一种是水平线性布局,一种是垂直线性布局。...android:orientation SetOrientation(int) 设置布局管理器内组件的排列方式,可以设置为horizontal(水平排列)、vertical(垂直排列,默认值)两个值的其中之一...android:layout_gravity:指定该子元素在LinearLayout中的对齐方式。 android:layout_weight:指定该子元素在LinearLayout中所占的权重。...android:layout_height:设置LinearLayout 的高度。 这两个值的属性值也有多种取值方式,同前面一样,此处不做赘述。...以上练习的是水平方向的权重,在垂直方向同理。需要注意的是:layout_weight只能在LinearLayout线性布局中使用,而且只能在LinearLayout中的直接子元素中使用。 ?

    2.5K80

    Android六大布局

    (线性布局) 线性布局是程序中最常见的布局方式之一,线性布局可以分为水平线性布局和垂直线性布局两种,分别是通过android:orientation=“horizontal” 和 android:orientation...--控件重力--> android:foreground android:foregroundGravity RelativeLayout(相对布局) 相对布局(RelativeLayout)是一种根据父容器或者兄弟控件作为参照来确定控件位置的布局方式 常用属性 相对布局原文链接:https...TableLayout 和 GridLayout的区别 // TableLayout: 不能同时向水平和垂直方向做控件的对齐,因为TableLayout继承了LinearLayout,因此只能向一个方向做控件的对齐...如果是ViewGroup组件如LinearLayout的话,则为设置它内部view组件的对齐方式。 layout_gravity是设置本元素自身相当于父元素的对齐方式

    2.6K20
    领券