gpt4 book ai didi

android - ScrollView 仅在 android 中的纵向模式下禁用

转载 作者:行者123 更新时间:2023-11-30 03:47:34 26 4
gpt4 key购买 nike

我的 xml 中有一个 ScrollView ,但 ScrollView 只能在手机的横向模式下工作,而不能在手机的纵向模式下工作。这是可能的吗?如果可能的话,我应该使用 xml 文件或以编程方式进行。如果代码需要请问我。谢谢

这是xml文件(纵向模式):

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/scrollview1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#1e90ff"
tools:context=".HomeActivity"
android:scrollbars="none"
>

<LinearLayout
android:id="@+id/layout01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#a9a9a9"
android:orientation="vertical" >

<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_marginLeft="1dp"
android:background="@drawable/my_tauky_button_img" />

<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_marginLeft="1dp"
android:background="@drawable/explore_button_img"
android:text="" />

<Button
android:id="@+id/button3"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_marginLeft="1dp"
android:background="@drawable/create_tauky_button_img" />

<Button
android:id="@+id/button4"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_marginLeft="1dp"
android:background="@drawable/my_blauky_button_img" />

<Button
android:id="@+id/button5"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@drawable/profile_button_img" />
</LinearLayout>

</ScrollView>

最佳答案

最简单的解决方案是检查:

getResources().getConfiguration().orientation;

onCreate() 中,如果方向是 portrait,则禁用 ScrollView。请参阅此处的引用资料:http://developer.android.com/reference/android/content/res/Configuration.html#orientation

之所以有效,是因为默认情况下 Activities 会在配置更改(包括方向更改)时重新启动,因此您不必监听此事件。

只需修改您的onCreate():

@Override
protected void onCreate(Bundle savedState) {
super.onCreate(savedState);
setContentView(R.layout.activity_layout);

// disable ScrollView in portrait mode
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
ScrollView scrollView = (ScrollView)findViewById(R.id.scrollview1);
scrollView.setEnabled(false);
}
}

其中 activity_layout 是您的布局文件名(不带 .xml 扩展名)。就是这样!

关于android - ScrollView 仅在 android 中的纵向模式下禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14723947/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com