2

遊んでいるうちに、Google + Androidアプリからのストリームを上下にスクロールすると、現在表示されている投稿の垂直方向のサイズに応じてスクロールバーのサイズが変わることに気付きました。たとえば、長い投稿にスクロールするとバーのサイズが小さくなり、短い投稿にスクロールするとバーが長くなります。これはどのように実装されますか?

今、私はこの機能を特に必要としませんが、それは私の好奇心を刺激したものにすぎません。

4

1 に答える 1

1

これは、リサイクルを使用することの副作用ですListView。新しい投稿がスクロールインされて表示されると、残りの項目が仮想化されます。基本的に Android は、リストの残りの部分が占めるスペースを推測しますが、実際にはそれらをレンダリングしないため、確実ではありません。大きな投稿にスクロールすると、リストの残りの部分に大きな投稿があると想定されるため、リストが長くなります。

次のようなconvertViewパラメーターを使用して、同じ機能を得ることができます。getView

@Override
public View getView(int position, View convertView, ViewGroup parent)
{
    View view = null;
    if(convertView == null)
    {
        view = // set your view here
    }
    else
    {
        view = convertView
    }
    // set all your properties on the view here.
    return view;
}
于 2011-07-27T20:33:59.040 に答える