标签: gravity

Android TextView向下偏移

我有一个活动,在LinearLayout中有两个按钮和一个TextView.我的TextView向下偏移,文本不适合框内.你能解释一下发生了什么吗?我认为它与填充有关,我已经阅读了几篇关于TextView填充的危险的讨论,但这并不能解释为什么文本在底部被截断.

<?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="wrap_content"
    android:orientation="horizontal"
    android:background="#800080">

    <Button
        android:text="This"
        android:background="@drawable/button_red" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
    <Button
        android:text="That"
        android:background="@drawable/button_green" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
    <TextView 
        android:text="Copious amounts of text that overflows onto several lines on a small screen, causing the TextView to dangle below the buttons.  Why it does this I can't imagine.  I only hope someone can help me with this." 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#533f93"
    />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

此代码生成此显示:

用户界面

紫色是LinearLayout,蓝色是TextView.如您所见,TextView的顶部低于按钮的顶部,其底部低于LinearLayout的底部.当我向TextView添加文本时,LinearLayout会适当地增加其高度,但由于TextView是偏移的,所以我总是丢失最后一行的底部.

我运行了Hierarchy Viewer,它给了我这个线框:

来自层次结构查看器的线框图像

它显示了顶部的垂直偏移,但是错过了TextView的底部.选择了LinearLayout的相同线框如下所示:

来自层次结构查看器的线框图像 - 已选择LinearLayout

根据Hierarchy Viewer,按钮的顶部是0,但TextView的顶部是7.我尝试了各种修复程序,大多是从这个网站中挑选出来的:

    android:paddingTop="0dp"
    android:background="@null"
    android:includeFontPadding="false"
Run Code Online (Sandbox Code Playgroud)

这些都没有解决我的问题.

android gravity textview android-layout

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

消除IMU加速度计的重力

我发现了一种从加速度计读数中消除重力的美丽快速方法。但是,我有一个6dof IMU(XYZ陀螺仪,XYZ加速度计,无磁力计),所以我不确定是否可以使用此代码(我尝试过并且无法正常工作)。

有人将如何去除重力分量?这是一个很大的障碍,因为我无法继续进行我的项目。


编辑:

是)我有的:

  • 描述飞机位置的四元数(使用扩展卡尔曼滤波器得到的四元数)
  • 加速度传感器读数(未过滤;轴与平面对齐时对齐;重力也包含在这些读数中)

我想要的是:

  • 消除重力
  • 校正(旋转)加速度计读数,使其轴与参考轴的地球坐标系对齐
  • 读取对地球的加速度(现在是加速度计的Z分量)

基本上,无论飞机如何定向,我都想阅读对地球的加速度!但是第一步,我想是要消除重力。

embedded sensor accelerometer gravity

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

模拟恒星的引力?

我正在做一个游戏,玩家将(在发布鼠标点击时)以一定的方向拍摄一个"星星",其初始速度取决于他在释放之前拖动鼠标的距离.我在画布上有一个"行星"(静止的圆圈),我想在移动的行星上施加一个引力.我相信我正在使用正确的引力等公式,而且它部分工作 - 行星影响行星的轨迹直到某一点,当恒星似乎无休止地加速并停止根据它的角度改变方向到了明星.什么建议?(我知道恒星不应该绕行星运行,反之亦然.

主要课程:

    import acm.graphics.GCompound;
    import acm.graphics.GImage;
    import acm.graphics.GLabel;
    import acm.graphics.GLine;
    import acm.graphics.GMath;
    import acm.graphics.GObject;
    import acm.graphics.GPen;
    import acm.graphics.GPoint;
    import acm.graphics.GRect;
    import acm.graphics.GOval;
    import acm.graphics.GRectangle;
    import acm.program.GraphicsProgram;
    import acm.util.RandomGenerator;
    import java.awt.Color;
    import java.awt.event.MouseEvent;
    import java.util.*;

    public class Space extends GraphicsProgram {
      public static int APPLICATION_WIDTH = 1000;
      public static int APPLICATION_HEIGHT = 1000;
      private int size = 15;
      public static double pMass = 1000;
      public static int sMass = 20; …
Run Code Online (Sandbox Code Playgroud)

java space gravity motion

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

加速度计数据中的重力补偿

鉴于加速度计具有9 DOF(加速度计,陀螺仪和磁力计),我想在加速度计读数中去除/补偿重力的影响(加速度计可以自由旋转).传感器给出相对于(磁)北,西和上参考系的四元数表示的方向.

我发现这个http://www.varesano.net/blog/fabio/simple-gravity-compensation-9-dom-imus 但是无法理解给定方程的基础.

如何获得上述信息呢?

math accelerometer quaternions gravity

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

android:重力在API 18+上失败

我的应用程序上有一些TextViews,我不知道为什么但是该android:gravity属性没有将文本内容集中在运行API 18+(4.3+)的设备上.

我在自定义上使用了代码TextView,这是RelativeLayout的子代:

<com.package.custom.CustomTextFont
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/seekbar"
    android:layout_alignParentLeft="true"
    android:layout_alignTop="@+id/seekbar"
    android:layout_marginLeft="@dimen/margin_tiny_double"
    android:layout_toLeftOf="@+id/seekbar"
    android:gravity="center_vertical|left"
    android:paddingRight="@dimen/margin_tiny"
    android:text="@string/text1"
    android:textColor="@color/black"
    android:textSize="@dimen/size_text_normal" />
Run Code Online (Sandbox Code Playgroud)

这个代码应该采用这个代码的边缘TextView并将它对齐到顶部和底部并将它放在左边SeekBar,这是有效的,但是TextView变大了,所以android:gravity我将文本居中到中心并从中自取.它工作,但我不知道为什么,文本不在运行android 4.3和4.4的设备的中心左侧.此问题可以在真实设备上以及Eclipse的布局预览(图形布局)上重现.

对API 18+或android:gravity我遗漏的内容进行了哪些更改?

PS:我的目标是项目和AndroidManifest.xml上的API 19

PS2:我的TextView是自定义的,只是为了设置外部font.tff

这就是它在API 17上的样子 -

在此输入图像描述

这就是它在API 18+上的样子

在此输入图像描述

提前致谢!

= UPTADATE =

在我的Manifest上,我将其更改android:targetSdkVersion为17而不是19并且问题消失了,但这是一个"技巧",而不是解决方案,我能做什么,因为它可能是来自API的问题?是的,我有最新版本的API 18和19(今天,01/30/2014).

java layout android gravity

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

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

在我的水平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
查看次数

Android,可以为TextView.setGravity()设置动画吗?

我遇到一种情况,我想以编程方式更改我的文本视图的重力(Gravity.CENTER_HORIZONTAL| Gravity.BOTTOMGravity.START| Gravity.BOTTOM)。当前,我正在使用该setGravity()方法,但我想知道是否有任何方法可以将其设置为平滑过渡到新位置,而不仅仅是跳到新的离散位置。

谢谢,休

android gravity programmatically-created

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

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

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

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

android gravity android-linearlayout layout-gravity

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

Wordpress + Ajax页面加载+重力形式+重力形式分页符

我现在有这个设置:

一个WordPress网站,我使用类似于http://barbajs.org/的东西. 所以每个页面内容都通过ajax加载到<main></main>标签.

在其中一个页面(联系页面)中,我有一个重力形式,并使用分页符.表单被制作成步骤,每个步骤都加载到页面内.如果我加载的第一页是该页面(联系页面),一切正常,但是一旦我转到另一页并返回,或者如果我从上一页转到联系页面,表单将不再起作用.

关于如何解决它的任何想法.这是代码部分:

Wordpress:WYSIWYG与短代码

[gravityform id="2" title="false" description="false" ajax="true"]
Run Code Online (Sandbox Code Playgroud)

在加载时,我有这个:( jQuery('#gform_wrapper_2').show()这是唯一可行的),所以我没有得到黑页.

如果我点击下一步(它没有加载下一步),我试过这个:这是我在文档或下一个按钮下找到的 onclick = "..."

jQuery(document).trigger('gform_post_conditional_logic', [2, null, true])
jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} )
jQuery(document).trigger('gform_post_render', [2, 1]) 
jQuery("#gform_target_page_number_2").val("2");  
jQuery("#gform_2").trigger("submit",[true]); 
Run Code Online (Sandbox Code Playgroud)

我需要一些gform.init()理想的东西:D或类似的东西让我再次绑定表单.

非常感谢!

ajax wordpress gravity gravity-forms-plugin gravityforms

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

如何在Android中为TextInputLayout的提示和文本设置不同的重力

如何为TextInputLayout的提示和在编辑文本中输入的文本设置不同的重力。我想将提示重力设置为开始并将文本的文本重力设置为居中。所以我怎么能做到这一点。这是我的xml代码,

              <android.support.design.widget.TextInputLayout
                        android:id="@+id/email"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:padding="16dp"
                        android:gravity="start">

                        <EditText
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:backgroundTint="@color/grey"
                            android:hint="Email"
                            />
                    </android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

android gravity android-edittext android-textinputlayout

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