- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我创建了一个 MenuActivity,它有一个 Action Bar 和一个 Split Action Bar。我想将此操作栏和拆分操作栏 View 用于我的应用程序中的所有 Activity 。我是 android 的新手,所以有人可以逐步指导我。
我还试图将搜索图标放在现在出现在 SplitActionBar 上的操作栏上。我在 SplitActionBar 上有四个图标,我想在操作栏上而不是在 SplitActionBar 上显示搜索图标。搜索图标是一个 SearchView 项,单击它会在 ActionBar 上展开,这非常不整洁。我希望它出现在 ActionBar 中最右边的位置,并在单击时在同一位置展开。
这是 MenuACtivity.java:
package com.example.travelplanner;
import java.util.ArrayList;
import java.util.Timer;
import java.util.TimerTask;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.app.ActionBar;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SearchView;
import android.widget.TextView;
import com.example.travelplanner.R;
public class MenuActivity extends Activity implements OnItemClickListener{
Timer t1;
TimerTask tt1;
ImageView slide;
int currindex = 0;
ActionBar actionBar;
ArrayList<ItemDetails> image_details = GetSearchResults();
private int IMAGE_IDS[] = {R.drawable.slide1, R.drawable.slide2, R.drawable.slide3,R.drawable.slide4};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_menu);
final ListView lv = (ListView)findViewById(R.id.listView1);
lv.setAdapter(new MenuAdapter(this,image_details));
lv.setOnItemClickListener(this);
actionBar = getActionBar();
final Handler h = new Handler();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setIcon(R.drawable.ic_social_share);
LayoutInflater inflator = (LayoutInflater) this
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(R.layout.apptitle, null);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setCustomView(v);
int delay = 1000;
int period = 4000;
t1 = new Timer();
t1.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
h.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
animateSlideShow();
}
});
}
}, delay, period);
}
private void animateSlideShow(){
slide = (ImageView)findViewById(R.id.imagearr);
slide.setImageResource(IMAGE_IDS[currindex%IMAGE_IDS.length]);
currindex++;
Animation fade = AnimationUtils.loadAnimation(this, android.R.anim.fade_in);
slide.startAnimation(fade);
}
private ArrayList<ItemDetails> GetSearchResults(){
ArrayList<ItemDetails> results = new ArrayList<ItemDetails>();
ItemDetails item_details = new ItemDetails();
item_details.setmenuitem("Featured Tours");
item_details.setItemDescription("Mostly Recommended");
item_details.setImageNumber(1);
results.add(item_details);
item_details = new ItemDetails();
item_details.setmenuitem("Theme Tours");
item_details.setItemDescription("Some amazing experiences");
item_details.setImageNumber(2);
results.add(item_details);
item_details = new ItemDetails();
item_details.setmenuitem("Holiday Packages");
item_details.setItemDescription("Bundles of happiness");
item_details.setImageNumber(3);
results.add(item_details);
item_details = new ItemDetails();
item_details.setmenuitem("Tailor Tours");
item_details.setItemDescription("Custommize your tours");
item_details.setImageNumber(4);
results.add(item_details);
item_details = new ItemDetails();
item_details.setmenuitem("Events");
item_details.setItemDescription("Experience the culture");
item_details.setImageNumber(5);
results.add(item_details);
item_details = new ItemDetails();
item_details.setmenuitem("Enquiry");
item_details.setItemDescription("Ask your queries");
item_details.setImageNumber(6);
results.add(item_details);
return results;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu, menu);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_action_search).getActionView();
return true;
}
@Override
public void onItemClick(AdapterView<?> av, View v, int position, long id) {
// TODO Auto-generated method stub
if(position==0){
Intent i0 = new Intent(this,FeaturedTourActivity.class);
startActivity(i0);
}
else if(position==1){
Intent i1 = new Intent(this,MainActivity.class);
startActivity(i1);
}
else if(position==2){
Intent i2 = new Intent(this,TourCatActivity.class);
startActivity(i2);
}
else if(position==3){
Intent i3 = new Intent(this,TailoredoneActivity.class);
startActivity(i3);
}
else if(position==4){
Intent i4 = new Intent(this,MainActivity.class);
startActivity(i4);
}
else if(position==5){
Intent i5 = new Intent(this,EnquireActivity.class);
startActivity(i5);
}
else if(position==6){
Intent i6 = new Intent(this,MainActivity.class);
startActivity(i6);
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId()){
case R.id.menu_action_search:
{
Intent intent_search = new Intent(this,MainActivity.class);
startActivity(intent_search);
break;
}
case R.id.menu_action_locate:
{
Intent intent_nearby = new Intent(this,NearbyPlacesActivity.class);
startActivity(intent_nearby);
break;
}
case R.id.menu_action_mail:
{
Intent intent_mail = new Intent(this,EnquireActivity.class);
startActivity(intent_mail);
break;
}
case R.id.menu_action_call:
{
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:9560875725"));
startActivity(callIntent);
break;
}
}
return super.onOptionsItemSelected(item);
}
}
最佳答案
创建实现action bar
的BaseActivity
。并且你所有的 Activity 都必须继承BaseActivity
(不是Activity
)
public class BaseActiivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// action bar implementation
}
}
public class MainActivity extends BaseAcivity{
//your code
}
关于android - 在应用程序的所有 Activity 中重用 Action Bar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17765985/
鉴于 foo.bar是一个模块,有什么区别 import foo.bar as bar 和 from foo import bar 我对延迟导入模块对此有何影响特别感兴趣。 注意:这不是 this q
我正在寻找一个选项来创建组合了 1 个条形图(每个索引)和 2 个条形图的条形图。 像这样: 我可以假装制作一个 2 条形图,将 0 放入第一组条形图,然后手动绘制一个条形图……但是有更优雅的方法吗?
这只是编写相同代码的两种方式吗?有什么我应该注意的功能差异吗? >>> a = 'foo' >>> if not a == 'bar': ... 'its not' ... 'its not'
通常条形图中的条形并排对齐。我怎样才能让它们位于前一个之上?所以我会考虑创建我已经拥有的系列并将它们添加到渲染器,但告诉渲染器将新系列放在现有系列之上,而不是将其放在现有系列旁边。仅计算最大值并仅显示
我试图在 Amchart 4 中点击条形图/列时突出显示条形图/列。使用下面的代码,我正在获取当前点击的条形图/列的值,但使用的是 column.isActive 属性,条形/列未突出显示。 我找到了
我正在名为“tests”的文件夹中处理大量 qunit 单元测试。每个文件的顶部如下所示,例如: moduleFor('mixin:foo') // or moduleFor('route:bar')
我在 pyTorch 和 matplotlib 中看到了这个约定: import torch.nn as nn import torch.optim as optim import matplotli
与我的示例平行的是,我正在构建一个游戏并有一个名为 player.lua 的类。 几周前我编写了这个代码,当时我还不太了解 Lua 的工作原理,所以我没有为播放器构建的表格。 我已经为玩家分配了各种属
一个简单的例子: void foo(class Bar * bar) { foo2(bar); } void foo2(Bar * bar) { bar->a++; } foo2 中使
原始需求:我想实现一个将Foo::*转换为Bar::*的宏。 伪代码将如下所示: macro_rules! convert_foo_to_bar { ($v: ty, $p: path) =>
出于好奇。我检查某个字符串是否超过指定的最大长度: var name = "This Is a Name"; if (!name.length >= 10) { //valid length
之间有什么区别 export * as bar from 'foo' 和 export { default as bar } from 'foo' 在我的特殊情况下,我尝试了以下两种方法,它们都有效,
以下代码会返回错误, $ perl -E'sub foo { my $bar if 0; $bar++ }' This use of my() in false conditional is no l
我需要知道一些语言提供的这个很酷的特性的正确名称。 仅供引用:在某些语言中,可以通过将值结构分配给“变量”结构来进行多重分配。在问题标题的示例中,它将“foo”分配给 foo,将“bar”分配给 ba
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: What is the difference between object keys with quotes
我们要搜索一个文件以找到前面没有“foo”的“bar”的所有实例(忽略前面的空格和后面的任何内容。) 所以如果我们有 foo foo bar baz bar a bunch of monkey
这是一个 SSCCE : import java.util.*; class Test { public static void main(String[] args) { b
我正在开发一个插件,该插件将添加到外部站点,例如 Meebo/Wibiya 栏。我正在研究如何对我的文件进行版本控制。 我想要实现的目标: 网站只需添加几行到他们的网站。 如果我选择的话,我将能够以静
我需要在没有省略号的情况下显示标签中的所有文本,但我无法预测标签将占用的行数。 是否可以在每个标签和展示之间留出一些边距中心的条与标签对齐? (有或没有改变每条之间的距离) 是否可以计算每个条之间的距
1. struct thread_args { 2. int thread_id; 3. struct timeval before; 4. struct timeval after
我是一名优秀的程序员,十分优秀!