我有一个活动,在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的相同线框如下所示:

根据Hierarchy Viewer,按钮的顶部是0,但TextView的顶部是7.我尝试了各种修复程序,大多是从这个网站中挑选出来的:
android:paddingTop="0dp"
android:background="@null"
android:includeFontPadding="false"
Run Code Online (Sandbox Code Playgroud)
这些都没有解决我的问题.
我发现了一种从加速度计读数中消除重力的美丽快速方法。但是,我有一个6dof IMU(XYZ陀螺仪,XYZ加速度计,无磁力计),所以我不确定是否可以使用此代码(我尝试过并且无法正常工作)。
有人将如何去除重力分量?这是一个很大的障碍,因为我无法继续进行我的项目。
编辑:
是)我有的:
我想要的是:
基本上,无论飞机如何定向,我都想阅读对地球的加速度!但是第一步,我想是要消除重力。
我正在做一个游戏,玩家将(在发布鼠标点击时)以一定的方向拍摄一个"星星",其初始速度取决于他在释放之前拖动鼠标的距离.我在画布上有一个"行星"(静止的圆圈),我想在移动的行星上施加一个引力.我相信我正在使用正确的引力等公式,而且它部分工作 - 行星影响行星的轨迹直到某一点,当恒星似乎无休止地加速并停止根据它的角度改变方向到了明星.有什么建议?(我知道恒星不应该绕行星运行,反之亦然.
主要课程:
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) 鉴于加速度计具有9 DOF(加速度计,陀螺仪和磁力计),我想在加速度计读数中去除/补偿重力的影响(加速度计可以自由旋转).传感器给出相对于(磁)北,西和上参考系的四元数表示的方向.
我发现这个http://www.varesano.net/blog/fabio/simple-gravity-compensation-9-dom-imus 但是无法理解给定方程的基础.
如何获得上述信息呢?
我的应用程序上有一些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).
在我的水平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是如何工作的!我理解这些基本属性是如何工作对我很重要.谢谢
我遇到一种情况,我想以编程方式更改我的文本视图的重力(Gravity.CENTER_HORIZONTAL| Gravity.BOTTOM到Gravity.START| Gravity.BOTTOM)。当前,我正在使用该setGravity()方法,但我想知道是否有任何方法可以将其设置为平滑过渡到新位置,而不仅仅是跳到新的离散位置。
谢谢,休
我冒着写一个重复的问题的风险,但当我正在研究另一个SO问题的答案时,我意识到我找不到一个简单的问题和答案,其中包括设置一个重力和layout_gravity LinearLayout.另外,在谈论一个ViewGroup而不仅仅是一个观点时,我对它们之间的区别感到困惑.我在回答下面的问题.
以下是我查看的其他一些问题:
我现在有这个设置:
一个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或类似的东西让我再次绑定表单.
非常感谢!
如何为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)