Как мне все исправить в xml для телефонов разных размеров? - PullRequest
0 голосов
/ 13 мая 2018

Я пытаюсь переделать свои представления и макеты в формате xml для экранов различных размеров телефона в Android Studio.

Есть ли простой способ изменить размеры изображений и других виджетов больше или меньше? Например, сделайте так, чтобы это изображение теперь отображало размеры до 150%, как просто для увеличения значения dp, потому что сейчас я возвращаюсь и заново набираю новые значения dp и перетаскиваю все заново, и так много разных видов и размеров экрана, что забирая меня навсегда.

Кроме того, когда я создавал разные макеты small, normal, large и xlarge, он использует обычный xml для размеров телефона, который немного его отображает. Как будто он использует обычный xml, который подходит для 5.5-дюймового Pixel XL, но не для 5-дюймового nexus 5. Как мне создать новый xml для 5-дюймового экрана. Когда я иду, чтобы создать другой, я должен указать высоту экрана и ширину экрана или я просто указать ширину или высоту?

Я собрал все свои приложения в формате xml с размером экрана 5,5, и я действительно не планировал заранее с разными размерами экрана, так что в основном все они жестко запрограммированы в значениях dp, и теперь это гигантский беспорядок для каждого размера экрана.

1 Ответ

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

Это мой ImageView, который становится идеальным на экране любого размера.Вы просто измените все изображения с этим типом, и вы никогда не столкнетесь с этой проблемой снова.Вы просто будете менять в одном месте, когда захотите изменить размер.

<ImageView
            android:layout_width="@dimen/profile_pic_size_big"
            android:layout_height="@dimen/profile_pic_size_big"
            android:src="@drawable/ic_folder"
            />

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

Вам нужно будет дать некоторое время, чтобы использовать некоторые значения по умолчанию.размеры для макетов вашего приложения.

  • Каждое приложение имеет фиксированный размер для изображений повсюду, таких как значки, баннеры.Таким образом, вы определите эти размеры в измерениях.

Но дело в том, как сделать вспомогательный макет.

Могут быть разные способы, я говорю лучше, которые я нашел.Длинный метод заключается в создании макетов или размеров для каждого типа экрана, например (xdpi или xxdpi или xxxdpi).Но это очень трудоемкая задача.

  • sdp - отличная библиотека, которую я получил после очень трудного времени в некоторых проектах.

  • У вас просто есть обычный размер .xml в res>values.и вы будете использовать sdp вместо dp .

what you get

Вот мой, вы также можете использовать это

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <dimen name="activity_horizontal_margin">16dp</dimen>
    <dimen name="activity_vertical_margin">16dp</dimen>
    <dimen name="tvVerySmall">@dimen/_10ssp</dimen>
    <dimen name="tvSmall">@dimen/_12ssp</dimen>
    <dimen name="tvNormal">@dimen/_14ssp</dimen>
    <dimen name="tvLarge">@dimen/_16ssp</dimen>
    <dimen name="tvtVeryLarge">@dimen/_18ssp</dimen>
    <dimen name="drawablePadding">5dp</dimen>
    <dimen name="profile_pic_size_big">110dp</dimen>
    <dimen name="profile_pic_size_medium">50dp</dimen>
    <dimen name="space_large">@dimen/_16sdp</dimen>
    <dimen name="space_small">@dimen/_8sdp</dimen>
    <dimen name="circleHeightWidth">@dimen/_70sdp</dimen>
    <dimen name="circleHeightWidthSmall">45dp</dimen>
    <dimen name="toolbar_icon_padding">17dp</dimen>
    <!--default card view margin must be greater than elevation-->
    <dimen name="cardViewDefaultMargin">3dp</dimen>
    <dimen name="corner_radius_default">2dp</dimen>
    <dimen name="elevation_default">2dp</dimen>
    <dimen name="buttonPaddingVertical">@dimen/_10sdp</dimen>
    <dimen name="buttonPaddingHorizontal">@dimen/_20sdp</dimen>

    <dimen name="buttonSmallPaddingVertical">@dimen/_6sdp</dimen>
    <dimen name="buttonSmallPaddingHorizontal">@dimen/_15sdp</dimen>

</resources>
...