2011-01-14 4 views
1
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 

    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/bkgrnd"> 
    <RelativeLayout 
     android:id="@+id/RelativeLayout01" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     > 
     <ImageView 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/ImageView_MenuHeader" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/logo" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true"></ImageView> 
     <TextView 
      android:id="@+id/TextView01" 
      android:layout_height="wrap_content" 
      android:text="@string/admin" 
      android:textSize="@dimen/screen_title_size" 
      android:shadowDx="0" 
      android:shadowDy="0" 
      android:shadowRadius="10" 
      android:layout_width="wrap_content" 
      android:layout_gravity="fill_horizontal|center" 
      android:layout_alignParentTop="true" 
      android:layout_centerHorizontal="true" 
      android:shadowColor="@android:color/white" 
      android:textColor="@color/title_color"></TextView> 
     <ImageView 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/ImageView_MenuHeader2" 
      android:layout_height="wrap_content" 
      android:src="@drawable/logo" 
      android:layout_gravity="right|center_vertical" 
      android:layout_width="wrap_content" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentTop="true"></ImageView> 
    </RelativeLayout>  
    <ScrollView 
     android:id="@+id/ScrollView01" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:isScrollContainer="true" 
     android:scrollbars="vertical" 
     android:scrollbarAlwaysDrawVerticalTrack="true"> 
     <LinearLayout 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content">  
      <Spinner 
       android:id="@+id/Spinner_Table" 
       android:layout_height="wrap_content" 
       android:layout_width="fill_parent" 
       android:drawSelectorOnTop="true"></Spinner> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textSize="@dimen/help_text_size" 
       android:textStyle="bold" 
       android:gravity="center" 
       android:id="@+id/Blank"></TextView> 
      <TextView 
       android:id="@+id/admintable" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content"></TextView> 
      </LinearLayout> 
    </ScrollView> 
    <RelativeLayout 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:orientation="vertical" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent"> 
      <Button 
       android:id="@+id/Logout" 
       android:text="@string/Logout" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentBottom="true"></Button> 
    </RelativeLayout> 
</LinearLayout> 

위의 모든 XML은 라이너 레이아웃 내에 있습니다 ... 문제는 텍스트보기 관리 테이블에 응용 프로그램에서 너무 많은 양의 데이터가 표시되는데 데이터가 잘 표시되는 것입니다. .. 사용자가 화면 하단으로 스크롤하면 로그 아웃 버튼이 표시되지만 표시되지 않습니다.Android - XML ​​버튼이 누락 되었습니까?

답변

1

시도 ScrollViewlayout_height60dp 같은 정적 뭔가하고 layout_weight 화면을 거치지 않고 최대로 확장을하게됩니다 1.0에 설정합니다.

<ScrollView 
    android:id="@+id/ScrollView01" 
    android:layout_width="fill_parent" 
    android:layout_height="60dp" 
    android:layout_weight="1.0" 
    android:isScrollContainer="true" 
    android:scrollbars="vertical" 
    android:scrollbarAlwaysDrawVerticalTrack="true"> 
    ... 
</ScrollView> 

그러나 이렇게하면 로그 아웃 버튼이 항상 ScrollView 아래에 표시됩니다. ScrollView 내부의 RelativeLayout을 이동과 같이 다른 LinearLayout에서 그들을 중첩 시도 ScrollView의 하단에 나타납니다 버튼을 얻기 위하여

: 버튼이 화면에 나타납니다

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/bkgrnd"> 
    <RelativeLayout 
     android:id="@+id/RelativeLayout01" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     > 
     ... your header views ... 
    </RelativeLayout>  
    <ScrollView 
     android:id="@+id/ScrollView01" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:isScrollContainer="true" 
     android:scrollbars="vertical" 
     android:scrollbarAlwaysDrawVerticalTrack="true"> 
     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content">  
      <LinearLayout 
       android:orientation="vertical" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content">  
       ... data you load ... 
      </LinearLayout> 
      <RelativeLayout 
       android:orientation="vertical" 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent"> 
       <Button 
        android:id="@+id/Logout" 
        android:text="@string/Logout" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true"></Button> 
      </RelativeLayout> 
     </LinearLayout> 
    </ScrollView> 
</LinearLayout> 
0

일부 의견 :

<Button 
       android:id="@+id/Logout" 
       android:text="@string/Logout" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentBottom="true"></Button> 

당신은 이런 식으로 작업을 수행 할 수 있습니다 :

당신은 다음과 같은 위젯을 정의 할 필요가 없습니다 내 관점에서

<Button 
       android:id="@+id/Logout" 
       android:text="@string/Logout" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentBottom="true"/> 

의 문제는 왼쪽에있는 모든 공간을 ScrollView이 차지하고 있다는 것입니다.

Button 첫째로 RelativeLayout을 정의하는 시도하고 RelativeLayoutandroid:layout_above가되도록 ScrollView을 말한다. 설정

+0

을하지만있는 ScrollView 및 내부에있는 내용이 없습니다. – Beginner

+0

스크롤 뷰 내부에 버튼을 놓은 다음 버튼이 항상 스크롤 뷰의 맨 아래에 있도록하는 방법이 있습니까, 원하는 모든 버튼은 화면 맨 아래에 머물러 있어야합니다. 시각 – Beginner

관련 문제