因此,我正在制作一个短信应用,只是为了解决Android编程中的不同内容,并且还遇到了一个我无法在线找到答案的问题。我已经尝试过这个网站和其他Android编程论坛的几个不同的答案,而不是其中一个每次都有效。有些示例每隔一段时间都有效,而其他示例只能使用一次。这是应用程序中唯一需要考虑的UI功能。
我有一个XML布局文件:
<RelativeLayout
android:id="@+id/rlActionBar2"
android:layout_width="fill_parent"
android:layout_height="44dp" >
</RelativeLayout>
<RelativeLayout
android:id="@+id/rlAddContact"
android:layout_width="fill_parent"
android:layout_height="44dp"
android:layout_below="@+id/rlActionBar2"
android:background="@drawable/new_message_background"
android:padding="0dp" >
<TextView
android:id="@+id/tvTo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="8dp"
android:text="@string/text_to"
android:textColor="#7F7F7F"
android:textSize="17sp" />
<EditText
android:id="@+id/txtContact"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@id/tvTo"
android:layout_marginLeft="6dp"
android:layout_toLeftOf="@+id/btnAddContact"
android:layout_toRightOf="@id/tvTo"
android:background="#00000000"
android:hint="@string/contact_name"
android:inputType="textPersonName"
android:maxLines="1"
android:textColor="#000000"
android:textSize="16sp" >
</EditText>
<Button
android:id="@+id/btnAddContact"
android:layout_width="28.5dp"
android:layout_height="28.5dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginLeft="3dp"
android:layout_marginRight="3dp"
android:background="@drawable/add_button"
android:padding="0dp" />
</RelativeLayout>
<ScrollView
android:id="@+id/svMessageView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@+id/rlNewMessage"
android:layout_alignParentLeft="true"
android:layout_below="@id/rlAddContact"
android:background="#DBE2ED" >
<LinearLayout
android:id="@+id/llMessages"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#DBE2ED"
android:isScrollContainer="true"
android:orientation="vertical"
android:paddingTop="11dp" >
</LinearLayout>
</ScrollView>
<RelativeLayout
android:id="@+id/rlNewMessage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/messagebar_background"
android:gravity="bottom"
android:padding="0dp" >
<Button
android:id="@+id/btnAttatchment"
android:layout_width="26dp"
android:layout_height="26dp"
android:layout_alignBottom="@+id/txtMessageBox"
android:layout_marginLeft="6dp"
android:background="@drawable/camera_icon" />
<EditText
android:id="@+id/txtMessageBox"
android:layout_width="253dp"
android:layout_height="wrap_content"
android:layout_marginBottom="6dp"
android:layout_marginLeft="6dp"
android:layout_marginTop="8dp"
android:layout_toRightOf="@id/btnAttatchment"
android:background="@drawable/messagebox_background"
android:hint="@string/app_name"
android:inputType="textMultiLine"
android:maxLines="6"
android:minHeight="26dp"
android:textSize="17sp" >
</EditText>
<Button
android:id="@+id/btnSend"
android:layout_width="58dp"
android:layout_height="26dp"
android:layout_alignBottom="@id/txtMessageBox"
android:layout_alignParentRight="true"
android:layout_marginRight="6dp"
android:background="@drawable/send_button"
android:text="@string/send_button"
android:textAlignment="center"
android:textColor="#FFFFFF"
android:textSize="14sp"
android:textStyle="bold" />
</RelativeLayout>
</RelativeLayout>
我的问题是每次软键盘进入屏幕供用户输入时,让ScrollView svMessageView 自动滚动到底部。当键盘出现时,RelativeLayout rlNewMessage 向上移动,并且 svMessageView 的底部设置为坚持 rlNewMessage 的顶部并且可以正常工作,但是我无法将 svMessageView 单独滚动到底部。
图片:
软键盘加载后(不是我想要的):http://imgur.com/8Kptge3
软键盘加载后(我想要的):http://imgur.com/BcDcFPY
如果您需要更多信息来解决问题,请告诉我,我会尽快发布。
答案 0 :(得分:0)
我没有测试它,但你可以尝试scrollView.fullScroll(View.FOCUS_DOWN);也许在EditText触摸监听器上。
答案 1 :(得分:-1)
在Manifest.xml
Activity
中添加此内容,然后反馈
android:windowSoftInputMode="adjustNothing"