Android TextView和菜单

3

我有一个TextView和一个菜单,TextView目前显示在屏幕底部,当菜单被按下时,菜单会隐藏TextView,但我希望TextView自动向上移动,以便每个人都可以看到。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent" android:orientation="vertical"
  android:background="@drawable/android_bg"
  android:layout_height="fill_parent">

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent"
         android:layout_height="50dp" 
         android:background="@drawable/navigationbar">
         <TextView android:layout_width="wrap_content" android:layout_centerInParent="true"
         android:id="@+id/banner_text"
            android:layout_height="wrap_content" android:background="@drawable/bannertext_angies_list">></TextView>

            <Button
            android:layout_width="55dp"  
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
             android:layout_marginRight="5dp"
            android:layout_height="35dp" 
            android:background="@drawable/sign_out_button_clicked_button"

                android:id="@+id/signout"/>

    </RelativeLayout>  
    <ScrollView 
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
            <LinearLayout android:layout_width="fill_parent"
            android:orientation="vertical"
            android:layout_height="fill_parent">
    <LinearLayout 
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >






    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp">
        <TableRow
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_marginTop="10dp">

            <TextView
                android:visibility="gone"
                android:textColor="#000000"
                android:text="Thank you, your report has been"
                android:textSize="16sp"
                android:textStyle="bold"
                android:layout_width="260dp"
                android:layout_height="fill_parent"
                android:id="@+id/Thanks_to_submission1"/>
                </TableRow>
                <TableRow
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"

            >
                <TextView
                android:visibility="gone"
                android:paddingLeft="70dp"
                android:textColor="#000000"
                android:text="submitted successfuly!"
                android:textSize="16sp"
                android:textStyle="bold"
                android:layout_width="260dp"
                android:layout_height="fill_parent"
                android:id="@+id/Thanks_to_submission2"/>
        </TableRow>


        <TableRow
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_marginTop="50dp">

            <Button
                android:layout_width="260dp"
                android:layout_height="fill_parent"
                android:background="@drawable/submitbutton"
                android:id="@+id/submitreport_providertype_button"/>
        </TableRow>

        <TableRow
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_marginTop="10dp">

            <Button
                android:layout_width="260dp"
                android:layout_height="fill_parent"
                android:background="@drawable/searchlist_button"
                android:id="@+id/search_list_button"/>

        </TableRow>

        <TableRow
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_marginTop="10dp">

            <Button
                android:layout_width="260dp"
                android:layout_height="fill_parent"
                android:background="@drawable/bigdeal_button"
                android:id="@+id/big_deal_button"/>

      </TableRow>


</TableLayout>


        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
             android:layout_marginTop="50dp">

            <TextView 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 

            android:layout_gravity="center" 
            android:textSize="14sp"
            android:textStyle="bold"  
            android:onClick="true" 
            android:textColor="#000000" 
            android:text="Or visit our website at" /> 

           <TextView 
           android:layout_width="wrap_content" 
           android:layout_height="40dp" 
           android:id="@+id/link" 
           android:gravity="center_vertical"
           android:autoLink="web" 
           android:linksClickable="true" 
           android:layout_gravity="center" 
           android:textSize="14sp"
           android:textStyle="bold"  

           android:onClick="true" 
           android:textColor="#000000" 
           android:text="@string/link" /> 


         </LinearLayout>

        <TextView 
            android:visibility="invisible"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:layout_marginLeft="14dp" 
            android:text="Or visit our website at" /> 


</LinearLayout>
</LinearLayout>
  </ScrollView>
</LinearLayout>

这在Android上并不受支持,而且这是设计原则。想法是你可以使用全屏来展示你的UI,在需要选择时菜单占用部分空间。你不想在弹出菜单时担心文本视图和其他事情。这比iPhone更好,因为你不必永久放弃屏幕空间来显示菜单项。如果某些内容非常重要,那么请将其移到屏幕底部之外。 - EboMike
不妨把这个作为答案。等一下。 - EboMike
1个回答

0

这不是 Android 系统真正支持的功能,而且已经是有意为之的设计。其想法是当您需要选择菜单时,您可以使用全屏幕来显示您的 UI,而菜单只占用一部分空间。您不必在菜单显示时担心文本视图和其他事物。这比 iPhone 更好,因为您必须永久放弃屏幕空间以供菜单项使用。如果某些东西真的很重要,那么请将其移出屏幕底部。

如果您真的想要移动某些内容,您可以拦截 Activity.onPrepareOptionsMenu 并在 UI 中移动内容,尽管该函数并没有真正用于此目的。对应的调用是 onOptionsMenuClosed


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接