Реализация навигации "Развертка" в пользовательском интерфейсе приложения Android - PullRequest
17 голосов
/ 02 июня 2010

Я пытаюсь научиться делать что-то в Android, и я не уверен, что лучший способ создать интерфейс.

Я работал над портированием приложения для iPhone, которое использует контроллеры навигации и представления таблиц для просмотра различных разделов: в основном, кто-то касается ячейки в таблице, которая выполняет детализацию до другой таблицы. когда они касаются ячейки на этой таблице, она превращается в веб-просмотр, который отображает информацию.

Я хочу сделать что-то похожее для приложения для Android, но я не знаю, как, или есть лучший способ для Android. Я выяснил, как использовать веб-представление для своих целей, но движение вперед и назад в дереве таблиц неясно.

Ответы [ 3 ]

26 голосов
/ 02 июня 2010

Итак, на iphone, когда вы говорите «развернуть», я предполагаю, что вы имеете в виду, когда пользователь подправляет строку списка и перемещает новый вид справа, в большинстве случаев он имеет навигационную панель сверхудать пользователю возможность вернуться назад?

Способ, которым Android справляется с этим, просто путем запуска нового действия.Таким образом, при щелчке по listItem у вас будет ListActivity для «Книг», вы будете определять новое намерение, которое будет запускать ListActivity «Глав» и так далее.Навигационная панель в верхней части iphone не является стандартным пользовательским интерфейсом в Android, так как большинство людей видит выделенную клавишу «назад» как способ вернуться на экран предварительного просмотра.

Вот как вы начинаете намерение на тот случай, если вы его раньше не видели:

Intent chaptersIntent = new Intent(this, Chapters.class);
this.startActivity(chaptersIntent);

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

http://d.android.com/guide/topics/fundamentals.html

Также обратите внимание на версию TableView для Android - ListView:

http://d.android.com/reference/android/widget/ListView.html

и ListActivity:

http://d.android.com/reference/android/app/ListActivity.html


РЕДАКТИРОВАТЬ :: Образец кода Я хотел бы сделать что-то вроде этого

public class Books extends ListActivity {

private String[] mBooks = new String[]{ "Book1", "Book2", "Book3", "Book4" };

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ArrayAdapter<String> booksAdapter = new ArrayAdapter<String>(this, 
            android.R.layout.simple_list_item_1, 
            android.R.id.text1, 
            mBooks);

    this.setListAdapter(booksAdapter);

}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);

    Intent mViewChaptersIntent = new Intent(this, Chapters.class);
    mViewChaptersIntent.putExtra("BookName", mBooks[position]);
    startActivity(mViewChaptersIntent);
}

}

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

    @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Bundle extras = getIntent().getExtras();
    if(extras != null) {
        String bookId = extras.getString("BookName");
    }
}

Наконец убедитесь, что все новые действия добавлены в ваш файл AndroidManifest.xml:

<activity android:name=".YourClassName"
  android:label="@string/activity_name"
  >
</activity>

Надеюсь, что это поможет

2 голосов
/ 02 июня 2010

Основной способ создания пользовательского интерфейса Android - использование xml. Я не совсем уверен, что вы имеете в виду, когда говорите детализацию, но если вы хотите, чтобы он изменил представления, это так же просто, как сделать один набор элементов XML видимым, а другой - нет. Посетите страницы разработчиков для получения дополнительной помощи.

http://developer.android.com/guide/topics/ui/index.html

Забыл упомянуть, что это также очень хороший ресурс для начинающих. http://mobiforge.com/designing/story/understanding-user-interface-android-part-1-layouts

1 голос
/ 02 июня 2010

Как уже указывалось XML-способ создания макетов является наиболее предпочтительным.

в принципе, кто-то касается клетки в стол, который сверлит до другой стол. когда они касаются клетки на этом столе он сверлит до веб-просмотр, который отображает информацию.

Из того, что я понял из термина "сверла", может быть, вам нужно

http://developer.android.com/guide/topics/ui/ui-events.html

Из официальных документов

Слушатель событий - это интерфейс в класс View, который содержит один метод обратного вызова. Эти методы будут вызывается платформой Android, когда Вид, к которому имеет слушатель был зарегистрирован пользователем взаимодействие с элементом в интерфейсе пользователя.

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