iOS для Android: как отобразить TextView - PullRequest
1 голос
/ 12 августа 2011

У меня есть опыт разработки для iPhone, что может быть причиной некоторой путаницы с Android, которую я очень новичок в разработке.

У меня такой вопрос: как создать два TextViews и указать их точное местоположение на экране? Например, на iPhone я бы создал UILabel, сгенерировал прямоугольную рамку с указанием размера и положения метки, а затем установил для этого прямоугольника свойство frame UILabel.

Если вы поможете мне понять сходство с Objective C и iOS 'UILabel, это будет очень полезно.

Ответы [ 2 ]

2 голосов
/ 12 августа 2011

На Android мы не используем абсолютные позиции экрана. Это очень не рекомендуется. Вполне понятно, что вы так думаете, если приходите с iOS. Но вам нужно пересмотреть свои привычки.

Вместо абсолютных позиций мы используем макеты, такие как LinearLayout , RelativeLayout или FrameLayout . Все это позволяет вам упорядочить ваши представления динамически . И во многих случаях он автоматически адаптируется к размеру экрана, который сильно варьируется от устройства к устройству.

На самом деле, нет ничего экзотического в динамических макетах. Многие основные инструментарии пользовательского интерфейса, такие как GTK или Qt, работают аналогично. Пиксельная позиция, на мой взгляд, плохая идея, разве что в мире Apple, где ОС и оборудование тесно связаны, но на самом деле это исключение.

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

0 голосов
/ 12 августа 2011

Создание базового проекта Android в Eclipse. В вашем проекте будет файл макета main.xml. Вы можете открыть его в Eclipse, используя Ctrl + Shift + r и введя main.xml

copy вставьте это в ваш xml после очистки его содержимого.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:text="TextView One"
        android:layout_height="fill_parent"
        android:layout_weight="1"></TextView>
    <TextView
        android:id="@+id/textView2"
        android:layout_width="fill_parent"
        android:text="TextView Two"
        android:layout_height="fill_parent"
        android:layout_weight="1"></TextView>
</LinearLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...