- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
如何设置 AbsListView.LayoutParams 的布局引力?
我在自定义数组适配器中使用它,我需要根据变量设置布局引力。我的列表子项包含线性布局根,但在适配器中,我无法设置 LinearLayout 参数,因为我收到 LinearLayout.LayoutParams 无法转换为 AbsListView.Layout 参数的错误。
因此,我尝试为 AbsListView 设置 layout_gravity,但它没有重力选项。
在这种情况下,如何以编程方式设置 layout_gravity?
编辑:(添加源代码)
Listview 父级
<?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="@drawable/messaging_background"
android:orientation="vertical"
android:padding="2dp" >
<ListView
android:id="@+id/messageThread"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/list_separator"
android:layout_alignParentTop="true"
android:layout_marginTop="5dp"
android:cacheColorHint="#00000000"
android:divider="@null"
android:dividerHeight="2dp"
android:fastScrollEnabled="false"
android:listSelector="#00000000"
android:transcriptMode="disabled" />
<View
android:id="@+id/list_separator"
android:layout_width="match_parent"
android:layout_height="1.0dip"
android:layout_above="@+id/footer"
android:background="@android:color/white" />
<LinearLayout
android:id="@+id/footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/filter"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.1"
android:background="@null"
android:contentDescription="@string/message_filter_button"
android:scaleType="fitCenter"
android:src="@drawable/filter" />
<EditText
android:id="@+id/send_message_text"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:imeOptions="actionSend"
android:inputType="textMultiLine"
android:maxLines="6"
android:scrollbarAlwaysDrawVerticalTrack="true"
android:scrollbarDefaultDelayBeforeFade="200"
android:scrollbarFadeDuration="300"
android:scrollbarStyle="outsideOverlay"
android:scrollbars="vertical" />
<ImageButton
android:id="@+id/send"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="0.1"
android:background="@null"
android:contentDescription="@string/send_message_button"
android:scaleType="fitCenter"
android:src="@drawable/send_btn" />
</LinearLayout>
</RelativeLayout>
Listview 子组件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/incoming"
android:orientation="horizontal" >
<TextView
android:id="@+id/messaging_bubble_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="sans-serif-light"
android:maxWidth="200dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textIsSelectable="true" />
<TextView
android:id="@+id/messaging_bubble_time"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:fontFamily="sans-serif-light"
android:gravity="center"
android:paddingRight="5dp"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textIsSelectable="false" />
<ImageView
android:id="@+id/messaging_bubble_megaphone"
android:layout_width="20dp"
android:layout_height="match_parent"
android:contentDescription="@string/message_child_megaphone"
android:src="@drawable/megaphone"
android:visibility="gone" />
</LinearLayout>
我应该在我的适配器的 getView 中调用什么来根据适配器中的变量将 child 推到右边?
编辑 2:
可能的解决方案:将整个 child 包裹在根下的另一个元素下,然后您可以设置重力而不是布局重力,这可以使用 setGravity()
方法轻松完成。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/messaging_bubble_wrapper"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/incoming"
android:orientation="vertical"
tools:ignore="UselessParent" >
第二个线性布局没用,但有了它就可以完成工作!
最佳答案
要更改引力,您可以将现有的行布局包装在另一个布局中(例如 FrameLayout
),然后只需在该额外布局的 LinearLayout
上设置引力(现在可以在父级内部移动)。
为避免在布局中添加额外的层级,您可以保留当前行布局并将根 LinearLayout
替换为 RelativeLayout
并更改其中 View 的位置根据您想要的重力。
关于android - AbsListView LayoutParams 设置布局重力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17292997/
我正在制作一个 2D Java 游戏,我正在尝试找出如何添加基本的“重力” 我当前的代码是这样的: public void checkCollision() { Rectangle p
如何动态设置重力? Bitmap bmp; im = new ImageView (this); bmp=getbmp(img); im.setImageBitmap(bmp); 现在我想把图片放在
我编写了一个简单的代码来获取跳球的位置,但我肯定错过了一些东西,因为我得到了这个: 这是获取 x 和 y 位置的代码: public Vector2f[] draw() { float x =
我正在开发我的第一个 XNA 2D 游戏,但遇到了一个小问题。如果我跳,我的 Sprite 会跳但不会倒下。我还有另一个问题,用户可以按住 spacebar 跳到他想要的高度,我不知道如何阻止他这样做
在 xml 布局中,设置了 TextView 的重力。在某些情况下,我想在我的编码中更改 TextView 的重力。我尝试这样设置: title.setGravity(Gravity.START);
好吧,我正在使用 andengine 和 box2d 扩展你看,我的物体从地面(红色矩形)飞到相机的屋顶(黄色),我不明白这是怎么回事 这是我的代码的一部分, @Override public Eng
我正在使用 Box2d 模拟自上而下的空间环境。我有一个应用了脉冲的物体,它将在“行星”附近飞行(通过太空)。世界本身没有重力,但我想设置具有单独重力的行星和恒星,这样其他动态物体就会掉落/被拉向它们
我用主体中的 setInterval(fall,1000) 函数触发的 parseInt(its.style.top) 编写了一个 img 元素,使其“落下”到窗口中。 Moves()函数触发后发生错
我目前正在用 Java 制作 2D 平台游戏。我是初学者,所以放轻松。我对游戏中的重力有疑问。我使用不同的变量来进行坠落和跳跃。我正在使用平铺 map 。那么让我们进入正题吧。我的跌倒方法是这样的 -
我需要获取 LinearLayout 的重力值。我检查了文档,只找到了如何设置它 ( setGravity(value) )。任何人都知道是否有办法获得 LinearLayout 引力? 谢谢 最佳答
我正在使用 C++ 自学 SDL、OpenGL 等。在线教程帮助我创建了一个在屏幕上移动的盒子和一个盒子无法通过的壁架... 我没能找到解释和展示如何让盒子跳跃或四处跳跃的教程。理想情况下,我希望我的
有人知道类似电缆(或基本上任何绳子或绳索)行为的好例子吗? 我目前正在编写一个半模块化合成器。我正在使用 Raphael.js 作为电缆。但它们似乎太僵硬了。我想添加一些物理,所以当我拖动一端而另一端
我有两个问题: 1. 是否可以检索 b2Body 的当前 X 坐标?我知道 API GetPosition 但这还不够具体,我需要专门的 X 坐标。 2. 是否可以在我的 UIAcceleromete
我的布局中有一个 AppCompatCheckBox。这是它的样子: 问题是填充或边距或重力不是我想要的方式。 Box 和左边框之间有一个小间隙。我将 gravity 设置为 left/start p
我的场景: 一个球(动态物理体) 一个立方体作为平台(静态物理体) 默认场景重力 默认质量 当我运行场景时,球正确地落在平台上。但是当我添加运动时(渲染方法中 x 轴上的增量时间运动),球会奇怪地/缓
我有下一个观点: 我希望它看起来像这样: 在第一个中,绿色 ImageButton 的背景位于左上角。在第二个中,绿色 ImageButton 的背景位于中央。(背景图片以绿色方 block 大小为准
我需要能够将 FAB 的 app:layout_anchorGravity="center" 从 center 更改为 bottom|start代码。我找到了这个例子: CoordinatorLayo
我正在用 javascript/html5 编写一个简单的游戏,我正在尝试实现“重力”。 我的代码是这样的: gravity = 4; acceleration = 1.1; function gam
此代码在黑色屏幕上显示图像 assassin1.png,静止不动地位于 (50, 80) 位置。 目标是在该图像上引发 pymunk 引力,使其掉落。我关注了 pymunk tutorial它是使用
我正在尝试为我的 WordPress Gravity 表单 PDF 设置样式,但我似乎无法摆脱两列之间的空白。没有真正的方法来检查 PDF 上的元素,因此更改它的 CSS 并不容易。 我尝试输出实际的
我是一名优秀的程序员,十分优秀!