gpt4 book ai didi

android - 在纵向模式android中防止滚动

转载 作者:太空宇宙 更新时间:2023-11-03 13:19:13 25 4
gpt4 key购买 nike

我有一个 xml,它使用线性布局和权重将屏幕上的空间平均分配给几个按钮等。当我将屏幕旋转到横向模式时,按钮都被压缩了。有人能告诉我如何使按钮占用相等的空间、不可滚动、在纵向时以及在横向时整个屏幕可滚动。目前我没有使用任何 ScrollView ,布局看起来不错,表格和按钮占用了适当的空间,但是当我将屏幕旋转到横向时,一切都被压缩了。我尝试将线性布局包含在 ScrollView 中,但这导致线性布局移出屏幕,因此在纵向模式下,我必须滚动才能看到全部内容。这是我的 xml 文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:id="@+id/linear"
android:orientation="vertical"
android:background="#bf000000"
tools:context=".MainActivity"
android:layout_above="@+id/imageView">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txtReceive1"
android:visibility="gone"/>

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/table"
android:background="#fff3f3f2"
android:stretchColumns="*"
android:shrinkColumns="*"
>
<TableRow>

<TextView
android:text="CH"
android:gravity="center"

android:padding="8dip"
android:layout_width="wrap_content" />
<TextView
android:text="kWh"
android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content" />
<TextView
android:text="Load"
android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content" />
<TextView
android:text="Date"
android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content" />
</TableRow>
<TableRow >
<TextView
android:padding="8dip" android:layout_width="wrap_content"
android:gravity="center"
android:id="@+id/t11"
android:text="1" />
<TextView
android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t12" />
<TextView
android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t13" />
<TextView
android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t14" />
</TableRow>

<TableRow>
<TextView
android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t21"
android:text="2" />
<TextView
android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t22" />
<TextView
android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t23" />
<TextView
android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t24" />
</TableRow>
<TableRow>
<TextView

android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t31"
android:text="3" />
<TextView

android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t32" />
<TextView

android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content" />
<TextView

android:gravity="center"
android:padding="8dip"
android:layout_width="wrap_content"
android:id="@+id/t34" />
</TableRow> <TableRow>
<TextView

android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t41"
android:text="4" />
<TextView
android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t42" />
<TextView

android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t43" />
<TextView

android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t44" />
</TableRow>
<TableRow >
<TextView
android:padding="8dip" android:layout_width="wrap_content"

android:gravity="center"
android:id="@+id/t51"
android:text="5" />
<TextView
android:gravity="center"

android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t52" />
<TextView
android:gravity="center"

android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t53" />
<TextView
android:gravity="center"
android:padding="8dip" android:layout_width="wrap_content"
android:id="@+id/t54" />
</TableRow>
</TableLayout>

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff8c00"
android:padding="6dip"
android:id="@+id/txtReceive"
android:layout_below="@+id/table"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/lin2"
android:visibility="visible"
android:paddingTop="5dp"
android:weightSum="2">

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_weight="1"
android:visibility="visible"
android:weightSum="4"
android:id="@+id/rel">


<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">
<Button
android:layout_height="fill_parent"
android:id="@+id/imageButton1"
android:layout_width="fill_parent"
android:background="@drawable/btn_01_small"
android:textColor="#ffa5ff45"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Channel"
android:textSize="22sp"
android:id="@+id/textView3"
android:layout_alignTop="@+id/imageButton1"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textColor="#ffa5ff45"
android:id="@+id/textView9"
android:textSize="22sp"
android:layout_alignBottom="@+id/imageButton1"
android:layout_centerHorizontal="true" />

</RelativeLayout><RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">
<Button
android:layout_height="match_parent"
android:layout_width="fill_parent"
android:id="@+id/imageButton2"
android:background="@drawable/btn_02"
android:textColor="#ffa5ff45"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="kWh"
android:textSize="22sp"
android:id="@+id/textView6"
android:layout_alignTop="@+id/imageButton2"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="000.0"
android:textColor="#ffa5ff45"
android:id="@+id/textView10"
android:textSize="22sp"
android:layout_alignBottom="@+id/imageButton2"
android:layout_centerHorizontal="true" />
</RelativeLayout><RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">
<Button
android:layout_height="match_parent"
android:layout_width="fill_parent"
android:id="@+id/imageButton3"
android:background="@drawable/btn_03"
android:textColor="#ffa5ff45"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Load"
android:id="@+id/textView7"
android:textSize="22sp"
android:layout_alignTop="@+id/imageButton3"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="000"
android:textColor="#ffa5ff45"
android:id="@+id/textView11"
android:textSize="22sp"
android:layout_alignBottom="@+id/imageButton3"
android:layout_centerHorizontal="true" />
</RelativeLayout><RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">
<Button
android:layout_height="match_parent"
android:layout_width="fill_parent"
android:id="@+id/imageButton4"
android:background="@drawable/btn_04_small" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Days"
android:id="@+id/textView8"
android:textSize="22sp"
android:layout_alignTop="@+id/imageButton4"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="000"
android:textColor="#ffa5ff45"
android:id="@+id/textView12"
android:textSize="22sp"
android:layout_alignBottom="@+id/imageButton4"
android:layout_centerHorizontal="true" />

</RelativeLayout>
</LinearLayout>

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_weight="1"
android:layout_alignParentRight="true"
android:visibility="visible"
android:weightSum="4"
android:layout_below="@+id/txtReceive"
android:id="@+id/rel2">

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">
<Button
android:layout_height="fill_parent"
android:id="@+id/imageButton12"
android:layout_width="fill_parent"
android:background="@drawable/btn_01_small"
android:textColor="#ffa5ff45"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Auto ON"
android:id="@+id/textView32"
android:textSize="22sp"
android:layout_alignTop="@+id/imageButton12"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="00:00"
android:textColor="#ffa5ff45"
android:id="@+id/textView92"
android:textSize="22sp"
android:layout_alignBottom="@+id/imageButton12"
android:layout_centerHorizontal="true" />

</RelativeLayout><RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">
<Button
android:layout_height="match_parent"
android:layout_width="fill_parent"
android:id="@+id/imageButton22"
android:background="@drawable/btn_04_small"
android:textColor="#ffa5ff45"/>





<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Auto OFF"
android:textSize="22sp"
android:id="@+id/textView62"
android:layout_alignTop="@+id/imageButton22"
android:layout_centerHorizontal="true" />



<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="00:00"
android:textColor="#ffa5ff45"
android:id="@+id/textView102"
android:textSize="22sp"
android:layout_alignBottom="@+id/imageButton22"
android:layout_centerHorizontal="true" />


</RelativeLayout><RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">
<Button
android:layout_height="match_parent"
android:layout_width="fill_parent"
android:id="@+id/imageButton31"
android:layout_marginTop="7dp"
android:layout_marginBottom="-14dp"
android:background="@drawable/send_btn_01"
android:textSize="22sp"
android:text="SET TIME" />
</RelativeLayout>

<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1">
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:scaleType="matrix"
android:layout_marginBottom="-7dp"
android:id="@+id/imageButton32"
android:padding="0dp"
android:background="@drawable/send_btn_01"
android:textSize="22sp"
android:text="RECHARGE" />
</RelativeLayout>

</LinearLayout>
</LinearLayout>




</LinearLayout>

<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/base_irya_left1"
android:background="#bf000000"
android:adjustViewBounds="true"
android:layout_alignParentBottom="true" />

<!-- </RelativeLayout> -->

最佳答案

您是否考虑过在 Android 中使用 Fragments。 Here是一个教程。

如何使用 fragment 支持不同的屏幕尺寸(参见 here )

可以在 Activity 的布局文件中定义它包含 fragment (静态定义)或在运行时修改 Activity 的 fragment (动态定义)。

要根据实际可用空间在您的 Activity 中显示不同的 fragment ,您可以:

使用一个 Activity ,它会在平板电脑和手机设备上显示两个 fragment 。在这种情况下,在运行时根据需要更改 Activity 显示的 fragment 。在这种情况下,您通常将 FrameLayout 类的实例定义为布局中的占位符,并在运行时向它们添加 fragment 。

使用单独的 Activity 在手机上托管每个 fragment 。例如,当平板电脑 UI 在一个 Activity 中使用两个 fragment 时,对手机使用相同的 Activity ,但提供仅包含一个 fragment 的替代布局。如果详细的 fragment 在那里,主要 Activity 告诉 fragment 它应该更新自己。如果详细信息 fragment 不可用,则主要 Activity 启动详细 Activity 。

选择哪个选项取决于用例,典型的动态贡献更灵活但更难实现。

关于android - 在纵向模式android中防止滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31043964/

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