2012-03-21 21 views
0

私は以下の画面を実装する必要があります。それは480 * 800ピクセルの画面で完璧に見えます。スクリーンサイズが不足しているため低解像度の画面では、結果のスクロールは結果をスクロールするための非常に小さな不動産をユーザーに提供します。スクロールビュー内のリストビュー

これを実装する最善の方法はどれですか?私はいつも、私はおそらく、ListViewのヘッダ内のビュー(マイソール日にバンガロールの結果)のトップを置く巻物が悪夢であることを他の何かにスクロールする何かを置くしようとして見つける

enter image description here

+3

あなたの質問を理解している場合、それはあなたを助けることができると思います** ** 'Scrollview'内部' Listview'入れないでください。それは明らかに災害を喚起するでしょう。[これ](http://groups.google.com/group/android-beginners/browse_thread/thread/2d1a4b8063b2d8f7) – Ghost

答えて

4

、その方法画面外にスクロールします。

1

赤い枠線で表示された部分を、カスタムリスト項目を持つリストビューに置きます。あなたは本当に私が推測するスクロールビューは必要ありません。並べ替えとフィルターボタンを親の下に設定するだけです。ボタンとリスト項目の上の部分との間のリストビュー。運が良かった。

2

そうです。 scrollviewにリストビューを配置しないでください。代わりに、この試してみてください。そして、あなたがコードから項目を追加することができます

<ScrollView android:layout_width="fill_parent" android:scrollbars="vertical" 
android:layout_height="wrap_content" android:scrollbarStyle="insideOverlay"> 
<LinearLayout 
android:id="@+id/itemContainer" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
>  
<!-- YOUR ELEMENTS WILL BE PLACED HERE --> 
</LinearLayout> 
</ScrollView> 

を:

private LinearLayout container; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);     
    setContentView(R.layout.YOUR_XML); 
    container = (LinearLayout)findViewById(R.id.itemContainer); 
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams( 
      LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
/*CREATE YOUR ITEM*/ 
/*AND PLACE IT INTO CONTAINER*/ 
container.addView(YOUR_ITEM, layoutParams); 
} 
1

私はリンクの下での答えとして利用できる自分自身のコードを使用して、ScrollViewListViewのを使用してみました。その私のためにうまく動作します。一度それをチェックし、あなたが良いと感じたらそれを試してみてください。

How to use listview inside scroll view

1

あなたはScrollView内のListViewを置くことができます。単にListViewを拡張して、onTouchEventメソッドをオーバーライドしてください。このリンクでそう

import android.content.Context; 
import android.util.AttributeSet; 
import android.view.MotionEvent; 

public class ChildScrollView extends android.widget.ListView { 
    private int parent_id; 

    public ChildListView(Context context) { 
     super(context); 
    } 

    public ChildListView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public ChildListView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent event){ 
     requestDisallowInterceptTouchEvent(true); 
     return super.onTouchEvent(event); 
    } 
} 
+0

それは動作していません.. – Raj

1

ように、私はscrollviewの内部でスクロール可能なリストビューを置くために私の解決策を記述します。私は

ListView inside scroll view magic

関連する問題