Просмотр не отображается в Android - PullRequest
0 голосов
/ 24 мая 2018

У меня есть представления высотой 1px с фоном, чтобы визуально отделить некоторые линейные макеты, но случайный из них, который ничем не отличается от других, не отображается, и я не могу понять, почему.

  <ScrollView
      android:layout_width="match_parent"
      android:layout_height="0dp"
      android:layout_weight="2"
      android:background="#fff">
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
      <LinearLayout
          android:orientation="horizontal"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:padding="15dp"
          android:id="@+id/startLoggingButton"
          android:background="@color/background_good">
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="START LOGGING"
            android:textSize="18dp" />
      </LinearLayout>
      <View
          android:layout_width="match_parent"
          android:layout_height="1px"
          android:background="@color/menu_text_color" />
      <LinearLayout
          android:orientation="horizontal"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:padding="15dp"
          android:id="@+id/voiceCommandsButton">
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="VOICE COMMANDS"
            android:textSize="18dp" />
      </LinearLayout>
      <View
          android:layout_width="match_parent"
          android:layout_height="1px"
          android:background="@color/menu_text_color" />
      <LinearLayout
          android:orientation="horizontal"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:padding="15dp"
          android:id="@+id/feedbackButton">
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="GIVE FEEDBACK"
            android:textSize="18dp" />
      </LinearLayout>
      <View
          android:layout_width="match_parent"
          android:layout_height="1px"
          android:background="@color/menu_text_color" />
      <LinearLayout
          android:orientation="vertical"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:padding="15dp">
        <TextView
            android:text="Data Sources:"
            android:gravity="center"
            android:textSize="17dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
        <CheckBox
            android:text="1 (default)"
            android:id="@+id/dataSourceStateHighways"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
        <CheckBox
            android:text="2"
            android:id="@+id/dataSourceCouncils"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
      </LinearLayout>
      <View
          android:layout_width="match_parent"
          android:layout_height="1px"
          android:background="@color/menu_text_color" />
    </LinearLayout>
  </ScrollView>

Какможно увидеть на примере изображения, там нет строки, где она выделена желтым цветом:

Example

Самое странное, что эта строка появляется при просмотрев представлении дампа в Android Device Monitor DDMS:

DDMS

(StackOverflow не позволяет мне опубликовать мой вопрос, потому что ему не хватаеттекст, поэтому я просто пишу это несколько раз) (StackOverflow не позволяет мне опубликовать мой вопрос, потому что у него недостаточно текста, поэтому я просто пишу это несколько раз)

1 Ответ

0 голосов
/ 24 мая 2018

Вам необходимо использовать эмулятор в режиме 100% масштаба.Если вы эмулируете полный экран HD, но ваш эмулятор составляет 1/4 от вашей полной линии HD-монитора, то 1px-линия может не отображаться в некоторых случаях.Вы можете проверить это, добавив больше «тупых» макетов в ScrollView, чтобы он начал прокручиваться.Во время прокрутки вы увидите мерцание этих линий.Вы не должны видеть эту проблему на реальном устройстве (или на скриншотах из эмулятора)

...