2012-05-14 7 views
1

다른 게시물을 찾아 다니며 계속해서 바닥 글을 화면에 표시하려고합니다.Android - 간단한 바닥 글을 추가하는 방법은 무엇인가요?

하지만 모든 페이지에 꼬리말을 표시하고 싶습니다. 일부 페이지에는 스크롤 기능이 없지만 일부 기능은 스크롤 기능이 있습니다. 스크롤이있을 때마다 스크롤 바 아래에 꼬리말을 표시하고 싶습니다. 어떻게 할 수 있습니까? 예를 들어

,이 페이지가있는 경우 :

<?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" 
     > 

<ScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" >  

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

<TextView 
    android:id="@+id/page_exlain"  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="Some text that either extends far down or is pretty short." 
    android:layout_marginTop ="20dp" 
    />   


</LinearLayout> 

</ScrollView> 

</LinearLayout> 

반드시 배 이상 나타나지 않도록이에 바닥 글을 추가하는 좋은 방법은 무엇입니까?

감사합니다.

답변

4

내 방식은 상위 레이아웃 내에 두 개의 선형 레이아웃을 갖는 것입니다. 첫 번째는 콘텐츠 영역이라고 부르며 1의 가중치를가집니다. 즉 부모보기에서 가능한 많은 공간을 차지하려고합니다. 반면에 바닥 글 레이아웃에는 아무런 무게도 없으므로 다른보기 (내용 영역)가 비어 있더라도 내용과 일치하는 높이가 유지됩니다.

당신은 두 가지 요소의 처분을 위반하지 않고 항상 하단에있을 것입니다 때문에 바닥 글의 위치에 대해 걱정할 필요없이이 레이아웃의 content 일부 내부 레이아웃의 scrollview 또는 다른 유형을 추가 할 수 있습니다 화면. 약간의 내용으로

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@+id/main" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:orientation="vertical" > 
<LinearLayout 
        android:id="@+id/content" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:orientation="vertical" > 
</LinearLayout> 
<LinearLayout 
        android:id="@+id/footer" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" > 
</LinearLayout> 

은 이전 코드에 추가, 당신은 이런 식으로 뭔가로 끝나는, 극단적으로 단순화 된 것 있습니다. 당신은 체중 재산을 제대로 이해하고있는 한 당신의 필요에 맞게 수정할 수 있습니다.

enter image description here

당신은 그냥 삽입 scrollviews 부모 하나 또는 무엇이든 당신이 필요로하고 바닥 글에 대해 잊고있는 것처럼 LinearLayout은 "콘텐츠"를 치료해야합니다. 바닥 글은 당신이 그것을 여러 번을 사용하려고하는 의미 재귀 경우, 직접 모든 레이아웃 @layout/footer이에 xml 파일입니다

<include layout="@layout/footer" /> 

에 그것을 복사하지 않고 XML로로드 할 수 있습니다 당신의 layouts 폴더에 재사용 할 바닥 글의 내용을 추가하십시오. 이는 수동으로 추가하는 것과 사실상 동일하지만 여러 파일에 걸쳐 유지 관리 할 필요가 없으므로 편리합니다.

희망은 도움이되었습니다.

+1

+1 ... 앱 구조에 따라이 모든 것을 기본 활동으로 추상화하고 일반 '기본'레이아웃 파일에 콘텐츠를 추가하는 보호 된 메소드를 만드는 것이 좋습니다. 이렇게하면 향후 모든 활동이 setContentView()만큼 쉽게 채워집니다. – Phix

관련 문제