内容在Android屏幕外

内容在Android屏幕外

问题描述:

我有3个元素在LinearLayout需要适合在屏幕上,目前他们没有。内容在Android屏幕外

这里是我希望它看起来

TextView - TextView - EditText

但是第二TextView是相当长的,它推动EditText关闭屏幕

所以它结束看起来像这样

TextView ---(屏幕结束)| TextView -------- |(屏幕结束)EditText

我环顾了一下,我似乎无法找到解决方案,应该是一个简单的解决方案。如果这是重复的,请随时将我与适当的答案联系起来,因为我无法自己找到答案。

下面是代码,感谢您的帮助

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:layout_gravity="center" 
android:orientation="vertical" > 

<LinearLayout 
    android:id="@+id/iline_layout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:background="@color/white" 
    android:gravity="center" 
    android:orientation="vertical" > 

<LinearLayout 
     android:id="@+id/ll3" 
     android:layout_width="wrap_content" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:orientation="horizontal" > 

     <TextView 
      android:id="@+id/textView5" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/b" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

     <TextView 
      android:id="@+id/textView6" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/distance_edge" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

     <EditText 
      android:id="@+id/editText2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:ems="4" /> 
</LinearLayout> 
</LinearLayout> 
</ScrollView> 

最后,我想第二个TextView占用同一空间33%,宽度为别人的,只是换行文本多必要时要做到这一点

编辑

第一个文本视图仅仅是一个字母B),所以我不得不设置该包的内容,那么其他人工作得很好

下面是代码

<LinearLayout 
     android:id="@+id/ll3" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_gravity="center" 
     android:orientation="horizontal" > 

     <TextView 
      android:id="@+id/textView5" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"     
      android:text="@string/b" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

     <TextView 
      android:id="@+id/textView6" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="@string/distance_edge" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

     <EditText 
      android:id="@+id/editText2" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:ems="4" /> 
    </LinearLayout> 
+0

嘿最后一个问题,所以我没有启动另一个线程。你看到@mmBs字符串的底部是如何被截断的?这个词的文字是那里的一半。我如何解决这个问题? – IrishWhiskey 2013-05-09 01:53:54

现在是正确的肯定 - 我在IDE检查它。

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="center" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:id="@+id/iline_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:background="@color/white" 
     android:orientation="vertical" > 

    <LinearLayout 
     android:id="@+id/ll3" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="horizontal" 
     android:layout_gravity="center" > 

     <TextView 
      android:id="@+id/textView5" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="some long, long, long text" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

     <TextView 
      android:id="@+id/textView6" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="some long, long, long, long, long, long, long, long, long text" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

     <EditText 
      android:id="@+id/editText2" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:ems="4" /> 
    </LinearLayout> 
    </LinearLayout> 
</ScrollView> 

Screen

+0

nope,但我编辑我的文章因为我认为这个版面之外的版面会有一些变化。 – IrishWhiskey 2013-05-09 00:57:58

+0

复制并粘贴我的代码。在我的IDE中,一切正常,只要你需要。 – mmBs 2013-05-09 01:15:36

+0

是的,它会的。除非你错过了一个非常关键的点。第二个字符串就像我第二个字符串的长度的五分之一。尝试将东西放入5倍的时间 – IrishWhiskey 2013-05-09 01:17:06

尝试设置为您的文本的意见和编辑文本权重属性。输出可能看起来有点尴尬,这取决于你的字符串是什么以及它们如何包装。

<LinearLayout 
     android:id="@+id/ll3" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:orientation="horizontal" > 

     <TextView 
      android:id="@+id/textView5" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="0.33" 
      android:text="Some string" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

     <TextView 
      android:id="@+id/textView6" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="0.33" 
      android:text="some really, really, really, long string" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

     <EditText 
      android:id="@+id/editText2" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="0.33" 
      android:ems="4" /> 
    </LinearLayout> 
+0

对不起,它没有工作。完全相同的问题,中间的一个扩大并将其他两个从屏幕上推开,但它确实是新线。另外它咆哮着使用嵌套权重说“对性能不好”。 – IrishWhiskey 2013-05-09 00:30:33

+0

您是否看到我的示例在封装LinearLayout中没有重量属性?如果有任何方法可以使用封闭线性布局上方的另一个线性布局以外的某种布局,则只要警告发生,就会处于良好状态。完美地工作在我的最后。 – MarsAtomic 2013-05-09 01:07:04

<LinearLayout 
    android:id="@+id/ll3" 
    android:layout_width="wrap_content" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    android:weightSum="3" 
    android:gravity="center" 
    android:orientation="horizontal" > 

    <TextView 
     android:id="@+id/textView5" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="@string/b" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 

    <TextView 
     android:id="@+id/textView6" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="@string/distance_edge" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 

    <EditText 
     android:id="@+id/editText2" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:ems="4" /> 
</LinearLayout> 
+0

Hey Hoan!很高兴再次见到你,不幸的是你的解决方案也无法工作。它实际上使整个布局消失在我的屏幕上。 – IrishWhiskey 2013-05-09 00:44:54

+0

这个布局是更大布局的一部分吗? – 2013-05-09 00:45:46

+0

我编辑了答案,我剪下并粘贴,忘记了layout_witdth =“0dp” – 2013-05-09 00:49:06