您好我已准备好Android应用程序。我想获得 如何将网址链接到操作栏图标的帮助?
我希望操作栏图标/图像在用户点击它时将主要主页加载到网页视图中。目前,当用户点击它时,没有任何反应。所以我希望它与主页网址链接,这将有助于将主要主页加载到网络视图中。
另外,我想更改操作栏的图标/图像。目前,它会自动使用应用程序的图标,我想用不同的图标替换操作栏图标。
提前感谢您的帮助。任何有关这两个问题的帮助/解决方案都将受到赞赏。
答案 0 :(得分:3)
您可以为操作栏实现自定义视图,并使用actionBar.setCustomView(actionBarLayout);
将其提供给操作栏,然后根据需要处理on click侦听器。
示例:
// Inflate your custom layout
final ViewGroup view = (ViewGroup) getLayoutInflater().inflate(
R.layout.custom_actionbar,
null);
// Set up your ActionBar
final ActionBar actionBar = getActionBar();
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(view);
ImageView ivIcon = (ImageView) view.findViewById(R.id.imageView1);
ivIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://google.com"));
startActivity(intent);
}
});
// custom_actionbar.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_edit" />
</LinearLayout>
// add to onCreate() / onCreateView()
actionBar.setDisplayHomeAsUpEnabled(true);
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://www.google.com"));
startActivity(browserIntent);
return true;
}
return super.onOptionsItemSelected(item);
}