Применить масштаб к макету в Android - PullRequest
0 голосов
/ 01 января 2011

У меня есть RelativeLayout, который в настоящее время имеет фиксированный размер.Ширина, высота, поля, высота шрифта дочерних представлений указываются так, чтобы все выглядело правильно.

Теперь я хочу масштабировать макет (чтобы соответствовать размеру экрана).Макет должен масштабироваться так, как если бы это было плоское изображение, поэтому все становится пропорционально меньше (шрифты, поля и т. Д.)

Я сделал упрощенный пример ниже.При масштабировании до 0,5 будет отображаться текст «ОДИН КВАРТАЛ» с полем слева 200dip и верхом поля 120dip.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
    android:id="@+id/RelativeLayout01"
    android:layout_width="1600dip" 
    android:layout_height="960dip"
    xmlns:android="http://schemas.android.com/apk/res/android"
>
<TextView 
    android:text="ONE QUARTER" 
    android:id="@+id/TextView01" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:layout_marginLeft="400dip"
    android:layout_marginTop="240dip"
></TextView>
</RelativeLayout>

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

Спасибо!

1 Ответ

0 голосов
/ 01 января 2011

Если вы просто хотите, чтобы ваше приложение выглядело нормально на другом устройстве, тогда указание параметров в dip и sp должно помочь.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...