Передний план Drawable не охватывает весь вид

Я использую FrameLayout с ColorDrawable на переднем плане. Большую часть времени он работает нормально, но иногда цвет не заполняет весь View, Кажется, помнят высоты других взглядов.

Вот пример, демонстрирующий проблему.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my);
    Random random = new Random();
    final List<Integer> list = new ArrayList<Integer>();
    for (int i = 0; i < 50; i++)
        list.add(50 + random.nextInt(150));
    final Drawable blue = new ColorDrawable(Color.BLUE);
    ListView listView = (ListView) findViewById(R.id.list_view);
    listView.setAdapter(new ArrayAdapter<Integer>(this, -1, list) {
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            FrameLayout frameLayout;
            TextView textView;
            if (convertView == null) {
                frameLayout = (FrameLayout) getLayoutInflater().inflate(R.layout.item, parent, false);
                textView = new TextView(MyActivity.this);
                frameLayout.addView(textView);
            } else {
                frameLayout = (FrameLayout) convertView;
                textView = (TextView) frameLayout.getChildAt(0);
            }
            textView.setHeight(list.get(position));
            frameLayout.setForeground(blue);
            return frameLayout;
        }
    });
}

Я думаю, что единственные промежутки между синими блоками должны быть ListView делители, но иногда вы получаете большие промежутки, как показано ниже. Кто-нибудь может объяснить это?

введите описание изображения здесь

0 ответов

Другие вопросы по тегам