2017-05-30 42 views
0

DemoEditText上,生长向上

有以下布局

<NestedScrollView> 
    <LinearLayout> 
     <TextView/> 
     <EditText/> 
    <LinearLayout/> 
</NestedScrollView> 

此布局都包含在另一个滚动型,这就是为什么我使用的是NestedScrollView。

EditText是带有固定minHeight的多行。目前,如果你超过了高度限制,EditText将会增长,并且NestedScrollView将适应增长。

我正在寻找改变这个EditText向上而不是向下。我尝试了几件事情,但NestedScrollView没有像预期的那样处理向上的增长。

任何帮助,将不胜感激:)

+0

可能重复https://stackoverflow.com/questions/27698139/how-to-make-android-edittext-expand-vertically-when-full –

+0

@DillonBurton这个问题的答案垂直生长,但它向下增长而不是向上。滚动视图还增加了另一层复杂性。 – user3213730

+0

检查[这一个](https://stackoverflow.com/questions/12593747/have-android-edittext-extend-upwards-instead-of-downwards)那里只有一个答案,但他似乎回答了他自己的问题。 –

回答

0

如果我理解你正在尝试做正确,给这一个镜头。

<android.support.v4.widget.NestedScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <RelativeLayout 
     android:layout_centerInParent="true" 
     android:orientation="vertical" 
     android:layout_width="wrap_content" 
     android:layout_height="200dip"> 

     <EditText 
      android:layout_alignParentBottom="true" 
      android:text="Put something really long here..." 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

    </RelativeLayout> 

</android.support.v4.widget.NestedScrollView> 

centerInParent是不是真的相关,而只是表明它不要紧,它的定位。

+0

当EditText向下增长时,这很好,但我需要向上增长。 – user3213730

0

感觉就像你试图实现的是一个可滚动的edittext,其焦点总是在底部。所以,也许你可以尝试给你的编辑文本TextWatcher和强制滚动到文本更改底部。

将以下内容添加到您的TextWatcher回调中,并查看这是否是您想要的。

nestedScrollView.postDelayed(new Runnable() { 
    @Override 
    public void run() { 
     nestedScrollView.fullScroll(ScrollView.FOCUS_DOWN); 
    } 
}); 
+0

这是我正在寻找的行为,但不幸的是它不是很流畅。这个实现导致它“跳”了一下。 – user3213730

+0

@ user3213730尝试'''''setSmoothScrollingEnabled()'''在滚动视图上启用它的滚动动画。你也可以在你的Textwatcher内的Edittext上使用'''getLineCount()''来判断实际内容是否被包装或创建了新行。只有在这种情况下,才能让scrollview滚动,以最小化调用来强制滚动 – StoneBird