Выравнивание странностей в относительном расположении с фоновым изображением - PullRequest
0 голосов
/ 19 мая 2011

У меня есть 9 патчей png в RelativeLayout, и все выглядит отлично! Тем не менее, когда я создаю textView в RL, textView не в верхней части родителя ... Я также проверил это на телефоне, тот же результат ... почему он это делает?

Спасибо за вашу помощь!

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/testLL"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/backrepeat"
    >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_margin="15dp"
        android:layout_gravity="center_vertical|center_horizontal"
        android:background="@drawable/contentbox">

        <TextView
            android:text="Test"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"/>

    </RelativeLayout>
</LinearLayout>

RelativeView TextView

1 Ответ

2 голосов
/ 19 мая 2011

При просмотре визуализации 9 патчей, он в основном превращает не растягиваемые области в отступы макета по умолчанию. Это облегчает ввод материала в целевую (растягиваемую) область без необходимости вручную вводить и определять отступы. Назначая 9-патч, вы используете его отступы. Он назначает отступы в верхнем левом, правом и нижнем углу в зависимости от того, сколько пикселей у 9-патча, пока он не достигнет растяжимого центра.

Вы можете попробовать сделать что-то вроде android: paddingTop = "- 50px" в вашем textView и посмотреть, что произойдет. Я не проверял это, поэтому мне было бы интересно посмотреть, как это получится.

Отредактируйте свой комментарий с помощью картинки: поскольку верхняя растягиваемая область вашего 9patch не начинается примерно на 90 пикселей, она автоматически будет заполнять первый элемент на 90 пикселей вниз, чтобы поместить его в область «растягиваемой цели». Попробуйте мое предложение выше, чтобы увидеть, как это работает, мне очень интересно посмотреть, как это получается. У меня нет своего IDE, доступного с моего мобильного, иначе я бы проверил его для вас;)

Редактировать: Я прошу прощения, я говорил "отступ" вместо поля. Но теория та же самая. Не изменяя вышесказанное для постоянного документирования моего идиотизма.

...