2013-04-17 3 views
0

저는 Android로 개발하는 것이 처음이므로 나와 함께하시기 바랍니다. ,활동 하단에 ListView 표시

enter image description here

그러나 : 나는 오늘 날짜에 대한 몇 가지 기상 데이터를 표시하는 활동을, 나는 다음과 같이 다음 7 일간 활동의 하단에 더 기상 데이터의 목록을 갖고 싶어 나는 이것을 달성하는 가장 좋은 방법이 무엇인지 혼란 스럽다. ListView를 사용하려고 생각했지만 사용법에 대해 혼란 스럽습니다. 내가 수집 한 것부터, 나는 ListView 레이아웃을 res/layout에 생성하고, 방금 전에 만든 ListView 레이아웃으로 설정된 레이아웃을 가진 나의 주요 액티비티에서 프래그먼트를 사용해야한다. 그 맞습니까? 아니면 ListView를 내 주 활동의 맨 아래에 배치하는 것이 더 쉬운 해결책일까요?

아니면 내가하고 싶은 일에 대해 완전히 잘못된 컨트롤을 사용하고 있습니까?

답변

0

이 코드에 의해 매우 쉽게 레이아웃을 만들 수 있습니다

<Relativelayout...> 

    <EditText android="@+id/edit1" 
     android:alignParentTop="true" 
     ... /> 

    <LinearLayout android:id="@+id/YOUR_MIDDLE_DATA" 
     android:above="@+id/listview1" 
     android:below="@+id/edit1" ...> 
     ... 
     ... 
    </Linearlayout> 

    <Listview android:id="@+id/listview1" 
     android:above="@+id/txt1" 
     ... /> 

    <Textview android:id="@+id/txt1" 
     ... 
     android:alignParentBottom="true" /> 
</RelativeLayout> 

당신은 당신의 정의에 대해서도 무게를 사용할 수 있습니다.

희망이 도움이 될 것입니다.

0

다음 XML을 예로 들어보십시오. 이것 (내 응용 프로그램의 실제 XML)에서는 ListView보다 작은 EditText을 가지고 있지만 필요하면 다른 것으로 변경할 수 있습니다. 이것이 본질적으로 보여주는 것은 상단이나 하단에 다른 내용과 함께 ListView을 가질 수 있다는 것입니다. 이 방법을 사용하는 것이해야하지만 상기 Widgets 항상 고정 된 것처럼 ListView 스크롤 것으로된다

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="0dip" 
    android:layout_weight="1" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/phone_thing_comment_bg" 
     android:gravity="center" 
     android:paddingBottom="5dp" 
     android:paddingLeft="9dp" 
     android:paddingRight="9dp" 
     android:paddingTop="5dp" > 

     <EditText 
      android:id="@+id/editFilterList" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_margin="4dp" 
      android:background="@drawable/phone_thing_comment_box" 
      android:drawableLeft="@drawable/filter_search_icon" 
      android:drawablePadding="5dp" 
      android:hint="Type Friends Name" 
      android:inputType="text" 
      android:maxLines="1" 
      android:textColor="#ff333333" 
      android:textColorHint="#ff78797d" 
      android:textCursorDrawable="@null" > 
     </EditText> 
    </LinearLayout> 

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

     <ListView 
      android:id="@+id/list" 
      android:layout_width="fill_parent" 
      android:layout_height="0dip" 
      android:layout_weight="1" 
      android:cacheColorHint="@android:color/transparent" 
      android:divider="#000000" 
      android:dividerHeight="0dp" 
      android:fadingEdge="none" 
      android:persistentDrawingCache="scrolling" 
      android:scrollbars="none" > 
     </ListView> 

     <TextView 
      android:id="@android:id/empty" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:gravity="center" 
      android:padding="10dp" 
      android:text="@string/no_friends" 
      android:textColor="#f1f1f1" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:visibility="gone" > 
     </TextView> 
    </LinearLayout> 
</LinearLayout> 

프로을 (I는 I 제거 한 ListView 후 몹 코드를 가지고). 의 단점은 화면이 작은 장치의 경우 의 내용이 표시 될 ListView 내용에 대해 개의 공간이 부족하여 사용자가 많이 스크롤해야하는 경우가있을 수 있습니다.

양자 택일로, 당신은 ListView 위의 Widgets 별도의 다른 XML 파일에 넣어와 Header로 (자바 코드에서) 당신의 ListView에 추가 할 수 있습니다. 그러면 ListView 위의 콘텐츠가 ListView 콘텐츠와 함께 이동합니다.

그래서이 코드 조각은 자바 코드에서 헤더로 추가됩니다 다른 XML에 간다 :

<LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/phone_thing_comment_bg" 
     android:gravity="center" 
     android:paddingBottom="5dp" 
     android:paddingLeft="9dp" 
     android:paddingRight="9dp" 
     android:paddingTop="5dp" > 

     <EditText 
      android:id="@+id/editFilterList" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_margin="4dp" 
      android:background="@drawable/phone_thing_comment_box" 
      android:drawableLeft="@drawable/filter_search_icon" 
      android:drawablePadding="5dp" 
      android:hint="Type Friends Name" 
      android:inputType="text" 
      android:maxLines="1" 
      android:textColor="#ff333333" 
      android:textColorHint="#ff78797d" 
      android:textCursorDrawable="@null" > 
     </EditText> 
    </LinearLayout> 

장단점이 이전 예제의 거의 반대입니다.

Fragment 또는 Activity에 사용 된 것과 관계없이 어느 방법이든 작동합니다.