簡體   English   中英

無法在線性+相對布局中使用ScrollView

[英]unable to use ScrollView in linear + relative layout

以下是我的應用程序活動xml之一。它運行良好,但問題是當它變成橫向模式時,我只能看到最上面的幾個UI元素。所以我在其中添加了ScrollView。但是之后我的活動沒有打開並崩潰。一個可以幫助我弄清楚我在添加ScrollView時做錯了什么。

謝謝

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent" 
              android:layout_height="fill_parent"
              android:orientation="vertical"
              android:background="#FFFFFF"
          > 


    <ScrollView android:id="@+id/scroll" android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <ImageView
            android:src="@drawable/logo"
            android:adjustViewBounds="true"
            android:scaleType="center"
            android:layout_gravity="center_vertical|center_horizontal"            
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    <TextView
        android:id="@+id/rishi_idlabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text = "Email address:"
        android:textColor = "#000000"
        android:textSize="15sp"
        android:paddingLeft="10px"
        android:paddingRight="5px"
    />

    <EditText android:id ="@+id/custid"
            android:hint = "ID"
            android:layout_gravity="center_vertical|center_horizontal"
            android:scaleType="center"
            android:inputType = "phone"
            android:singleLine = "true"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" 
            android:layout_marginLeft = "10px"
            android:layout_marginRight = "10px"
            />              

    <TextView
        android:id="@+id/pass"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text = "Password:"
        android:textColor = "#000000"
        android:textSize="15sp"
        android:paddingLeft="10px"
        android:paddingRight="5px"
    />

    <EditText android:id ="@+id/password"
            android:hint="Password"
            android:layout_gravity="center_vertical|center_horizontal"
            android:password = "true"
            android:singleLine = "true"         
            android:scaleType="center"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" 
            android:layout_marginLeft = "10px"
            android:layout_marginRight = "10px"
            />

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="wrap_content" 
              android:layout_height="wrap_content"
               android:layout_marginTop = "10px"
              android:background="#FFFFFF" 
              android:orientation="horizontal"> 

    <Button android:id="@+id/loginButton"
            android:layout_gravity="left"
            android:layout_width="180sp"
            android:layout_height="wrap_content"
            android:layout_marginLeft = "10px"
            android:layout_marginTop = "10px"
            android:text="Login"/>


     <TextView
        android:id="@+id/passforgot"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text = "forgot password"
        android:clickable = "true"
        android:focusable = "true"
        android:textColor = "#0000FF"
        android:layout_marginTop = "10px"
        android:textSize="15sp"
        android:paddingLeft="3px"
        android:paddingRight="3px"

    />
       </LinearLayout> 

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="wrap_content" 
              android:layout_height="wrap_content"
              android:layout_marginTop = "10px"
              android:background="#FFFFFF" 
              android:orientation="horizontal">          
     <TextView
        android:id="@+id/newaccount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text = "Dont have an account yet?"
        android:textColor = "#000000"
        android:layout_marginLeft = "10px"
        android:layout_marginTop = "10px"
        android:textSize="15sp"
        android:paddingLeft="3px"
        android:paddingRight="3px"
    />     

        <Button android:id="@+id/signup"
            android:layout_gravity="right"
            android:layout_width="100sp"
            android:layout_height="wrap_content"
            android:layout_marginLeft = "10px"
            android:layout_marginTop = "10px"
            android:text="Sign-Up"/>

     </LinearLayout>  
     </ScrollView>

</LinearLayout>
**Here It is Your Answer : This is your editable code : **

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
   android:id="@+id/scroll" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:background="#FFFFFF">
    <LinearLayout 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:orientation="vertical"> 
    <ImageView android:src="@drawable/logo"
        android:adjustViewBounds="true"
        android:scaleType="center"
        android:layout_gravity="center_vertical|center_horizontal"            
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
   <TextView
        android:id="@+id/rishi_idlabel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text = "Email address:"
        android:textColor = "#000000"
        android:textSize="15sp"
        android:paddingLeft="10px"
        android:paddingRight="5px"/>
   <EditText android:id ="@+id/custid"
        android:hint = "ID"
        android:layout_gravity="center_vertical|center_horizontal"
        android:scaleType="center"
        android:inputType = "phone"
        android:singleLine = "true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:layout_marginLeft = "10px"
        android:layout_marginRight = "10px"/>              
   <TextView
        android:id="@+id/pass"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text = "Password:"
        android:textColor = "#000000"
        android:textSize="15sp"
        android:paddingLeft="10px"
        android:paddingRight="5px"/>
  <EditText android:id ="@+id/password"
        android:hint="Password"
        android:layout_gravity="center_vertical|center_horizontal"
        android:password = "true"
        android:singleLine = "true"         
        android:scaleType="center"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:layout_marginLeft = "10px"
        android:layout_marginRight = "10px"/>
  <LinearLayout 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_marginTop = "10px"
        android:orientation="horizontal"> 

  <Button android:id="@+id/loginButton"
        android:layout_gravity="left"
        android:layout_width="180sp"
        android:layout_height="wrap_content"
        android:layout_marginLeft = "10px"
        android:layout_marginTop = "10px"
        android:text="Login"/>
  <TextView
        android:id="@+id/passforgot"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text = "forgot password"
        android:clickable = "true"
        android:focusable = "true"
        android:textColor = "#0000FF"
        android:layout_marginTop = "10px"
        android:textSize="15sp"
        android:paddingLeft="3px"
        android:paddingRight="3px"/>
   </LinearLayout> 
   <LinearLayout 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_marginTop = "10px"
        android:orientation="horizontal">          
        <TextView
             android:id="@+id/newaccount"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text = "Dont have an account yet?"
             android:textColor = "#000000"
             android:layout_marginLeft = "10px"
             android:layout_marginTop = "10px"
             android:textSize="15sp"
             android:paddingLeft="3px"
             android:paddingRight="3px"/>     
        <Button android:id="@+id/signup"
             android:layout_gravity="right"
             android:layout_width="100sp"
             android:layout_height="wrap_content"
             android:layout_marginLeft = "10px"
             android:layout_marginTop = "10px"
             android:text="Sign-Up"/>
   </LinearLayout>  
</LinearLayout>
</ScrollView>

但是您沒有使用良好的編程技巧,您的代碼格式不正確,請緊記給出正確的格式

您只能在ScrollView中添加1個視圖。 因此,您只需要將ScrollView中當前包含的所有內容包裝在LineraLayout中即可。

正如我在您的代碼中實現的那樣,您需要在ScrollView中再有一個Linear或Relative布局。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"  android:id="@+id/scroll" android:layout_width="fill_parent" android:layout_height="wrap_content"> 
    <LinearLayout                android:layout_width="fill_parent"        android:layout_height="fill_parent"    android:orientation="vertical"    >    

    <!-- You can write your further code as written in your xml code here or you can do whatever you want to do inside the scrollview here-->


     </LinearLayout>             
     </ScrollView>

謝謝你們的快速答復,終於能夠解決我的問題。 實際上,我正在將此代碼用於ScrollView,以獲得此博客中給出的答案之一。

<ScrollView android:id="@+id/scroll" android:layout_width="fill_parent"
                    android:layout_height="wrap_content">
 </ScrollView>

這段代碼崩潰了,所以我檢查了文檔,發現兩者之間存在差異,導致我的代碼無法運行。

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

缺少“ xmlns:android =“ http://schemas.android.com/apk/res/android”“。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM