Android - Navigasyon
Bu bölümde, bir uygulama arasında nasıl ileri ve geri gezinmeyi sağlayabileceğinizi göreceğiz. İlk olarak bir uygulamada nasıl gezinme sağlayacağımızı inceleyeceğiz.
Yukarı Navigasyon Sağlama
Yukarı gezinme, uygulamamızın bir sonraki aktiviteden önceki aktiviteye geçmesine izin verecektir. Bu şekilde yapılabilir.
Yukarı navigasyonu uygulamak için ilk adım, her bir aktivite için hangi aktivitenin uygun ebeveyn olduğunu belirlemektir. Bunu belirterek yapabilirsinizparentActivityNamebir aktivitede öznitelik. Söz dizimi aşağıda verilmiştir -
android:parentActivityName = "com.example.test.MainActivity"
Bundan sonra araman gerekiyor setDisplayHomeAsUpEnabled yöntemi getActionBar()etkinliğin onCreate yönteminde. Bu, üst işlem çubuğundaki geri düğmesini etkinleştirecektir.
getActionBar().setDisplayHomeAsUpEnabled(true);
Yapmanız gereken son şey geçersiz kılmaktır onOptionsItemSelectedyöntem. kullanıcı buna bastığında, etkinliğiniz onOptionsItemSelected () öğesine bir çağrı alır. Eylemin kimliği:android.R.id.homeSöz dizimi aşağıda verilmiştir -
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
}
Cihazı işleme geri düğmesi
Uygulamanızda gezinmek için geri düğmenizi etkinleştirdiğinizden, uygulama kapatma işlevini cihaz geri düğmesine koymak isteyebilirsiniz.
Geçersiz kılarak yapılabilir onBackPressed ve sonra arıyor moveTaskToBack ve finishyöntem. Söz dizimi aşağıda verilmiştir -
@Override
public void onBackPressed() {
moveTaskToBack(true);
MainActivity2.this.finish();
}
Bu setDisplayHomeAsUpEnabled yönteminin dışında, ActionBar API sınıfında kullanılabilen başka yöntemler vardır. Aşağıda listelenmiştir -
Sr.No | Yöntem ve açıklama |
---|---|
1 |
addTab(ActionBar.Tab tab, boolean setSelected) Bu yöntem, sekmeli gezinme modunda kullanım için bir sekme ekler |
2 |
getSelectedTab() Bu yöntem, sekmeli gezinme modundaysa ve en az bir sekme mevcutsa o anda seçili sekmeyi döndürür |
3 |
hide() Bu yöntem, şu anda gösteriliyorsa ActionBar'ı gizler |
4 |
removeAllTabs() Bu yöntem, tüm sekmeleri eylem çubuğundan kaldırır ve geçerli sekmenin seçimini kaldırır |
5 |
selectTab(ActionBar.Tab tab) Bu yöntem, belirtilen sekmeyi seçin |
Misal
Aşağıdaki örnek Navigasyon kullanımını göstermektedir. Uygulamanızda gezinmenizi sağlayan temel bir uygulama içerir.
Bu örneği denemek için, bunu gerçek bir cihazda veya bir emülatörde çalıştırmanız gerekir.
Adımlar | Açıklama |
---|---|
1 | Com.example.sairamkrishna.myapplication paketi altında Android uygulaması oluşturmak için Android stüdyosunu kullanacaksınız. |
2 | Aktivite kodunu eklemek için src / MainActivity.java dosyasını değiştirin. |
3 | Second_main.java adıyla yeni bir aktivite oluşturun ve aktivite kodu eklemek için düzenleyin. |
4 | Düzen XML dosyasını değiştirin res / layout / activity_main.xml gerekirse herhangi bir GUI bileşeni ekleyin. |
5 | Düzen XML dosyasını değiştirin res / layout / second.xml gerekirse herhangi bir GUI bileşeni ekleyin. |
6 | Gerekli kodu eklemek için AndroidManifest.xml dosyasını değiştirin. |
7 | Uygulamayı çalıştırın ve çalışan bir android cihaz seçin ve üzerine uygulamayı yükleyin ve sonuçları doğrulayın. |
İşte içeriği 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);
}
});
}
}
İşte içeriği 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;
}
}
}
İşte içeriği activity_main.xml.
Aşağıdaki kodda abctutorialspoint.com logosunu gösterir
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:transitionGroup="true">
<TextView android:text="Navigation example" 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>
İşte içeriği 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>
İşte içeriği Strings.xml.
<resources>
<string name="app_name">My Application</string>
</resources>
İşte içeriği 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>
Uygulamanızı çalıştırmayı deneyelim. Senin yarattığını varsayıyorumAVDortam kurulumu yapılırken. Uygulamayı Android stüdyosundan çalıştırmak için, projenizin etkinlik dosyalarından birini açın
Şimdi sadece düğmesine basın ve aşağıdaki ekran size gösterilecektir.
İkinci etkinlik web görünümünü içerir, aşağıda gösterildiği gibi tutorialspoint.com'a yönlendirilmiştir.