2011-12-23 35 views
1

私はListview(Listviewの最後)の後にTextviewを追加しようとしています。 (API 7)ListViewの下のTextView - API 7

何らかの理由で、上部に表示されます。

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

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="#FF0c46a6" 
     android:orientation="vertical" android:gravity="center_horizontal"> 

     <TextView 
       android:id="@+id/skypename" 
       android:layout_width="0dip" 
         android:layout_height="0dip" 
         android:layout_weight="1"   
       android:textColor="#FFFFFF" android:textSize="12pt"/> 
    </LinearLayout> 

<ListView android:id="@+id/android:list" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:drawSelectorOnTop="false" />   

</LinearLayout> 

答えて

5

を行うことができますし、リストビューの前のTextViewを定義しています。最初のTextViewはそのListViewの後に描画されます。

代わりにRelativeLayoutを使用し、TextViewの場合はandroid:layout_alignParentBottom="true"を親の一番下に並べ、リストビューの場合はandroid:layout_above="@+id/linearLayout1"を使用してリストビューをテキストビューの先頭に保ちます。

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

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="#FF0c46a6" 
     android:orientation="vertical" android:gravity="center_horizontal" 
     android:layout_alignParentBottom="true"> 

     <TextView 
       android:id="@+id/skypename" 
       android:layout_width="0dip" 
         android:layout_height="0dip" 
         android:layout_weight="1"   
       android:textColor="#FFFFFF" android:textSize="12pt"/> 
    </LinearLayout> 

<ListView android:id="@+id/android:list" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:drawSelectorOnTop="false" android:layout_above="@+id/linearLayout1"/>   

</RelativeLayout> 
1

ここでは...このようにあなたが向き垂直でのLinearLayoutを使用している

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

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="#FF0c46a6" 
     android:orientation="vertical" android:gravity="center_horizontal"> 

     <TextView 
       android:id="@+id/skypename" 
       android:layout_width="0dip" 
       android:layout_height="0dip" 
       android:layout_weight="1"   
       android:textColor="#FFFFFF" android:textSize="12pt"/> 
    </LinearLayout> 

<ListView android:id="@+id/android:list" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:drawSelectorOnTop="false" 
     android:layout_above="@+id/bottom" /> 

    <TextView 
       android:id="@+id/bottom" 
       android:layout_alignParentBottom="true" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textColor="#FFFFFF" 
       android:textSize="12pt"/> 

</RelativeLayout> 
+1

正しく動作しません。 – Dikobraz

-1

高さと幅の塗りつぶしとしてプロパティを指定すると、リストビューの下にテキストビューは表示されません。

あなたは1つのことを行うことができます:供給高さを固定dpとして設定し、次にテキストビューをリストの下に置きます。

1

LinearLayoutをRelativeLayoutに再配置しましたが、思ったほど簡単ではありませんでした。私の場合、ListViewの上下にTextViewsがありました。

ListViewがどちらのTextViewもカバーしないためには、ListViewを含むレイアウトで「layout_below」と「layout_above」を使用しなければなりませんでした。リストビューのレイアウトのため、このような:

android:layout_below="@+id/listview_layout" 

がリスト(=動作しません)、それをカバー:私は下のTextViewからこれを書いた

 android:layout_below="@+id/top_layout" 
     android:layout_above="@+id/bottom_layout" 

だから、トリックはlayout_belowタグとlayout_aboveタグの配置のようです。

他のソリューション(RelativeLayoutは不要)は、リストにフッタービューを追加することです。このように:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    v = inflater.inflate(R.layout.main_layout, container, false); 
    myItemAdapter = new ItemAdapter(this, com.example.app.R.layout.listitem, theList); 
    View footer = inflater.inflate(R.layout.notify_row, null); 
    mListView.addFooterView(footer); 
    mListView.setAdapter(myItemAdapter); 
    return v; 
    } 

このソリューションでは、ボトムビュー用のレイアウトファイルを作成する必要があります。また、setAdapterを呼び出す前にaddFooterViewを呼び出す必要があります。

関連する問題