Полезные примеры Android

Полезные примеры Android
Android — Навигация

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

Обеспечение навигации вверх

Навигация вверх позволит нашему приложению перейти к предыдущему действию из следующего действия. Это можно сделать так.

Чтобы реализовать навигацию вверх, первым делом нужно объявить, какое действие является соответствующим родительским для каждого действия. Вы можете сделать это, указав атрибут parentActivityName в действии . Его синтаксис приведен ниже —

android:parentActivityName = "com.example.test.MainActivity" 

После этого вам нужно вызвать метод setDisplayHomeAsUpEnabled для getActionBar () в методе onCreate действия. Это активирует кнопку «Назад» на верхней панели действий.

getActionBar().setDisplayHomeAsUpEnabled(true);

Последнее, что вам нужно сделать, это переопределить метод onOptionsItemSelected . когда пользователь нажимает на нее, ваша активность получает вызов onOptionsItemSelected (). Идентификатор действия — android.R.id.home. Его синтаксис приведен ниже:

public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}	
}

Кнопка возврата устройства обработки

Поскольку вы включили кнопку «Назад» для навигации в приложении, вы можете захотеть поместить функцию закрытия приложения в кнопку «Назад» на устройстве.

Это можно сделать, переопределив onBackPressed, а затем вызвав moveTaskToBack и метод finish . Его синтаксис приведен ниже —

@Override
public void onBackPressed() {
moveTaskToBack(true); 
MainActivity2.this.finish();
}

Помимо этого метода setDisplayHomeAsUpEnabled, в классе API ActionBar доступны другие методы. Они перечислены ниже —

Sr.No Метод и описание
1

addTab(ActionBar.Tab tab, boolean setSelected)

Этот метод добавляет вкладку для использования в режиме навигации с вкладками

2

getSelectedTab ()

Этот метод возвращает текущую выбранную вкладку, если в режиме навигации с вкладками и присутствует хотя бы одна вкладка.

3

hide()

Этот метод скрывает ActionBar, если он в настоящее время показывает

4

removeAllTabs ()

Этот метод удаляет все вкладки с панели действий и снимает выделение с текущей вкладки.

5

selectTab(ActionBar.Tab tab)

Этот метод выбирает указанную вкладку

Пример

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

Чтобы поэкспериментировать с этим примером, вам нужно запустить это на реальном устройстве или в эмуляторе.

Шаги Описание
1 Вы будете использовать Android studio для создания Android-приложения в пакете com.example.sairamkrishna.myapplication.
2 Измените файл src / MainActivity.java, чтобы добавить код действия.
3 Создайте новое действие с именем second_main.java и отредактируйте его, чтобы добавить код действия.
4 Измените XML-файл макета res / layout / activity_main.xml, добавьте при необходимости любой компонент графического интерфейса.
5 Измените XML-файл макета res / layout / second.xml, добавьте при необходимости любой компонент графического интерфейса.
6 Измените AndroidManifest.xml, чтобы добавить необходимый код.
7 Запустите приложение, выберите работающее устройство Android, установите на него приложение и проверьте результаты.

Вот содержимое src / MainActivity.java .

package com.example.sairamkrishna.myapplication;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity  {
Button b1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button) findViewById(R.id.button);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent in=new Intent(MainActivity.this,second_main.class);
startActivity(in);
}
});
}
}

Вот содержимое src / second_main.java .

package com.example.sairamkrishna.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
/**
* Created by Sairamkrishna on 4/6/2015.
*/
public class second_main extends Activity {
WebView wv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity2);
wv = (WebView) findViewById(R.id.webView);
wv.setWebViewClient(new MyBrowser());
wv.getSettings().setLoadsImagesAutomatically(true);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl("http://www.tutorialspoint.com");
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}

Вот содержимое activity_main.xml .

В приведенном ниже коде abc указывает логотип tutorialspoint.com.

<? xml version = "1.0" encoding = "utf-8" ?> <RelativeLayout xmlns: android = "http://schemas.android.com/apk/res/android" xmlns: tools = "http://schemas.android .com / инструменты» андроид: layout_width = "match_parent" андроид: layout_height = "match_parent" андроид: paddingLeft = "@ DIMEN / activity_horizontal_margin" андроид: paddingRight = "@ DIMEN / activity_horizontal_margin" андроид: paddingTop = "@ DIMEN / activity_vertical_margin" андроид :
"@ dimen / activity_vertical_margin" tools: context = ".MainActivity" android: transitionGroup = "true" >
<TextView android: text = "Пример навигации" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "@ + id / textview" android: textSize = "35dp" android: layout_alignParentTop = "true" android : layout_centerHorizontal = "true" />  
<TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Tutorials point" android: id = "@ + id / textView" android: layout_below = "@ + id / textview" android: layout_centerHorizontal = "true" android: textColor = "# ff7aff24" android: textSize = "35dp" />
<ImageView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "@ + id / imageView" android: src = "@ drawable / abc" android: layout_below = "@ + id / textView" android: layout_centerHorizontal = "true" android: theme = "@ style / Base.TextAppearance.AppCompat" />
<Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "first page" android: id = "@ + id / button" android: layout_below = "@ + id / imageView" android: layout_alignRight = "@ + id / textView" android: layout_alignEnd = "@ + id / textView" android: layout_marginTop = "61dp" android: layout_alignLeft = "@ + id / imageView" android: layout_alignStart = "@ + id / imageView" />
</RelativeLayout>

Вот содержимое activity_main_activity2.xml .

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
<WebView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/webView"
android:layout_gravity="center_horizontal"
android:layout_weight="1.03" />
</LinearLayout>

Вот содержимое Strings.xml .

<resources>
<string name="app_name">My Application</string>
</resources>

Вот содержимое AndroidManifest.xml .

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.sairamkrishna.myapplication" >
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".second_main"></activity>
</application>
</manifest>

Попробуем запустить ваше приложение. Я предполагаю, что вы создали свой AVD при настройке среды. Чтобы запустить приложение из студии Android, откройте один из файлов активности вашего проекта и щелкните Значок запуска Eclipseзначок « Выполнить» на панели инструментов. Студия Android устанавливает приложение на ваш AVD и запускает его, и если все в порядке с вашей настройкой и приложением, оно отобразит следующее окно эмулятора:

Теперь просто нажмите кнопку, и вам будет показан следующий экран.

Руководство по навигации на Anroid

Второе действие содержит веб-просмотр, он был перенаправлен на tutorialspoint.com, как показано ниже.

Руководство по навигации на Anroid

Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
  • Attributes
  • Custom attributes
  • Custom fields
Click outside to hide the compare bar
Compare