2012-01-04 16 views
3

Androidでは、固定ビューを別のビューの上に置くことができます。たとえば、ブラウザを開いて検索ボックスをタップすると、リストビューの上にキーボードのプロンプトが表示されます。ただし、キーボードが消えずにリストビューを上下にスクロールすることができます。同様に:Androidではオーバーレイ表示はどのように機能しますか?

example showing keyboard overlaying the listview

誰かがこれがどのように機能するか(加えて、できれいくつかのサンプルコード)を説明してくださいますか?

私がしようとしているのは、常にリストビューの上にフローティングナビゲーションバーがあり、リストビューの下部にもカスタムリストビューがあります(実際にはリストビューのヘッダー/フッターではありませんが、それは画面のヘッダー/フッターのようなものです)。今説明した例と似ています。ここでは、ナビゲーションバーとナビゲーションバーの下にあるリストビューの両方と対話できます。

私はAndroid開発に若干新しくなっていますので、事前に十分に感謝しています。

答えて

0

は、私は考えることができるシンプルな、リニアレイアウトを使用して、それを達成するために多くの方法があります。

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

    <LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/header"> 
     //Here you add whatever you want in your "header" 
    </LinearLayout> 

    //create your listview 
    <ListView 
    android:id="@+id/content_list" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:cacheColorHint="#00000000" 
    android:layout_marginRight="10dip" 
    android:layout_marginLeft="10dip" 
    android:layout_marginTop="10dip" 
    android:layout_marginBottom="10dip" 
    android:scrollbars="none" 
    android:paddingBottom="5dp" 
    /> 

    <LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/footer"> 
     //Here you add whatever you want in your "footer" 
    </LinearLayout> 

+0

応答のためにありがとう。特定のXMLはその特定の画面で動作するように見えますが、ユーザーがキーボードを閉じると機能しません。私の質問がこの点を本当に特定していなかったことを謝ります、私のせいです。私が達成しようとしているのは、実際には、2つのビューを1つのビューにフラット化するのではなく、お互いの上にオーバーレイすることです - なぜなら、私のアプリケーションのビューの上にオーバーレイするナビゲーションヘッダービューを1つ作成する必要があるからです。私は2つのビューをオーバーレイする方法を知っていた場合、これを行う簡単な方法があることを願っていました –