Android 滚动到(scollView的底部)不工作
在添加视图后,如何重新聚焦到Android 滚动到(scollView的底部)不工作,android,android-studio,android-layout,scroll,Android,Android Studio,Android Layout,Scroll,在添加视图后,如何重新聚焦到滚动视图的底部?我在myScrollView.scrollTo(x,y)中尝试了不同的参数,但没有一个参数能像(我)预期的那样完全工作 下面是我的布局和我尝试过的滚动到代码。有什么想法吗? 先谢谢你 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:a
滚动视图的底部?我在myScrollView.scrollTo(x,y)
中尝试了不同的参数,但没有一个参数能像(我)预期的那样完全工作
下面是我的布局和我尝试过的滚动到代码。有什么想法吗?
先谢谢你
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
tools:context=".chat">
<ScrollView
android:id="@+id/myScrollView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:id="@+id/mainLinearLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/messagesLinearLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="15dp"
android:orientation="vertical"
android:textSize="18sp">
</LinearLayout>
<HorizontalScrollView
android:id="@+id/smileysBarScrollView"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/smileysBar"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:visibility="gone">
(images of all the smileys available here)
</LinearLayout>
</HorizontalScrollView>
<LinearLayout
android:id="@+id/lowerBar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText> (message entered)
<Button> (send...)
<ImageView> (click to open the smiley bar)
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
如果这对您有效,请尝试在处理程序内向下滚动
scrollView.postDelayed(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
},1000);
很好用,非常感谢!这意味着当手机开始滚动时,在添加视图(重新计算尺寸/位置)后,它没有完成数学运算?我认为太多的“顺序”,我猜…是的,确切地说,视图是在繁忙的计算时,滚动启动,所以
ScrollView1.scrollTo(0, LinearLayout5.getHeight());
ScrollView1.scrollTo(0, LinearLayout5.getY());
ScrollView1.fullScroll(View.FOCUS_DOWN);
scrollView.postDelayed(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(ScrollView.FOCUS_DOWN);
}
},1000);