2017-06-30 14 views
1

私はListViewを持っていて、アイテム間の間隔を2つのアイテムによって増減したいと考えています。私は基本的に項目をランダムに交互に並べ、項目が反対側にあるときに間隔を広げたいと思う。 すべてのアイテムの間隔を均等に増やす方法はわかっていますが、特定の行については紛失してしまいます。アイテム間の特定の間隔を持つリストビュー

答えて

2

対応するリスト行のデータを比較し、Viewに適切なマージンまたはパディングを追加するだけです。

単なる例(あなたのコードのいずれかを見ることなく、特定の助けを与えることがちょっと難しい):

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    LayoutInflater inflater = LayoutInflater.from(someContext) 
    View row = inflater.inflate(R.layout.some_layout, parent, false); 

    if (position > 0) { 
     Data previous = someDataset.get(position - 1); 
     Data current = someDataset.get(position); 

     if (previous.something() == current.something()) { 
      // add margin or padding to row 
     } 
    } 

    // set TextView texts, ImageView images etc., whatever your row has 

    return row; 
} 

あなたがプログラムでViewにマージンを追加する方法がわからない場合は、のために多くの既存の質問がありますそれはhere's an answerです。

埋め込みを追加する場合は、ViewsetPadding()メソッドを呼び出します。

+0

これは素晴らしい仕事でした。 –

関連する問題