`
2014马年
  • 浏览: 121545 次
  • 性别: Icon_minigender_1
  • 来自: 晋中
社区版块
存档分类
最新评论

让actionbar隐藏的时候,不重新布局

阅读更多

0.总结

actionbar遇到slidingmenu后overlay模式无效,未解决

 

1.未使用slidingmenu,将actionbar隐藏

 

隐藏使用代码

ActionBar actionBar = getSupportActionBar();
actionBar.hide();

 

隐藏的时候回activity 会 re-layout 。所以要设置成overlay模式,即定义activity的

 windowActionBarOverlay to true

 

另外还有一个属性,在布局文件中可能会用到

 

android:layout_marginTop="?android:attr/actionBarSize" 

参考:

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

http://developer.android.com/training/basics/actionbar/overlaying.html

 

2.未使用slidingmenu,将actionbarsherlock隐藏

下面是官方的例子:

参考:https://github.com/JakeWharton/ActionBarSherlock/blob/master/actionbarsherlock-samples/demos/src/com/actionbarsherlock/sample/demos/Overlay.java

 

        requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.overlay);

        //Load partially transparent black background
        getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.ab_bg_black));

 

3.slidingmenu中关于overlay的例子

(使用的是actionbarsherlock)

并且实现点击展示,2s后小时的功能

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		int pos = 0;
		if (getIntent().getExtras() != null) {
			pos = getIntent().getExtras().getInt("pos");
		}
		
		String[] birds = getResources().getStringArray(R.array.birds);
		TypedArray imgs = getResources().obtainTypedArray(R.array.birds_img);
		int resId = imgs.getResourceId(pos, -1);
		
		setTitle(birds[pos]);
		getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
		ColorDrawable color = new ColorDrawable(Color.BLACK);
		color.setAlpha(128);
		getSupportActionBar().setBackgroundDrawable(color);
		getSupportActionBar().setDisplayHomeAsUpEnabled(true);
		mHandler = new Handler();
		
		ImageView imageView = new ImageView(this);
		imageView.setScaleType(ScaleType.CENTER_INSIDE);
		imageView.setImageResource(resId);
		imageView.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				getSupportActionBar().show();
				hideActionBarDelayed(mHandler);
			}
		});
		setContentView(imageView);
		this.getWindow().setBackgroundDrawableResource(android.R.color.black);
	}
	
	@Override
	public void onResume() {
		super.onResume();
		getSupportActionBar().show();
		hideActionBarDelayed(mHandler);
	}

	
	private void hideActionBarDelayed(Handler handler) {
		handler.postDelayed(new Runnable() {
			public void run() {
				getSupportActionBar().hide();
			}
		}, 2000);
	}

 

 


4.碰到slidingmenu,overlay模式会失效(未找到解决方案)

 

 

 

 

1
0
分享到:
评论

相关推荐

    Android 弹无虚发之第二弹:Android ActionBar 的其它用法(搜索、分享、隐藏复杂布局,模仿Google Play,微信)

    通过熟练掌握搜索、分享、隐藏布局等技巧,以及学习Google Play和微信的优秀设计,你的应用将更加吸引用户,提升用户的使用体验。在实际开发过程中,不断实践和优化,你将能够打造出一款真正弹无虚发的Android应用。

    actionbar 入门儿 demo

    3. 显示和隐藏ActionBar:使用`getSupportActionBar().show()`显示,`getSupportActionBar().hide()`隐藏。 二、自定义ActionBar 1. 使用XML布局:创建一个包含所需视图(如TextView、ImageView)的布局文件,然后...

    Android自定义ActionBar示例

    4. 使用`getSupportActionBar().setDisplayOptions()`方法控制ActionBar的显示选项,如隐藏标题或显示自定义视图。 5. 添加自定义菜单项并覆写`onOptionsItemSelected()`方法处理点击事件。 总之,自定义ActionBar...

    ActionBar随listView的滚动而隐藏于显示

    `ActionBar`的隐藏和显示功能就是这样一种设计,它可以让用户在查看内容时获得更大的屏幕空间,而在需要操作时又能快速访问菜单。 `ActionBar`的隐藏和显示通常可以通过以下方法实现: 1. **使用`SupportActionBar...

    android4.0 actionbar API

    - **动态隐藏/显示 ActionBar**:在运行时,可以通过调用 `ActionBar.hide()` 和 `ActionBar.show()` 方法来动态控制 ActionBar 的可见性。 - **增加 Action Item**: - **Action Item 定义**:实质上是一个 ...

    【Android进阶】(5)ActionBar详解

    在Jetpack组件中,AppBarLayout是与ToolBar配合使用的一个布局,它可以实现类似ActionBar的滑动效果,如在滚动时隐藏和显示。 总结: Android的ActionBar是构建用户界面的重要组成部分,提供了丰富的功能和定制化...

    自定义组件实现ActionBar

    4. **设置ActionBar的属性**:通过调用`getSupportActionBar()`或`getSupportActionBar().setDisplayOptions()`等方法,可以设置显示或隐藏ActionBar上的图标、标题、副标题等。 5. **处理点击事件**:为自定义...

    Android ActionBar学习源代码

    4. **显示和隐藏ActionBar**:可以使用`getSupportActionBar().show()`和`getSupportActionBar().hide()`方法控制ActionBar的可见性。 5. **使用Navigation Drawer**:ActionBar上的三横线图标可以触发侧滑出的...

    ActionBar定制

    1. 可以通过`setCustomView()`方法将自定义布局添加到ActionBar中,实现更复杂的功能,如集成搜索框或下拉菜单。 ```java View customView = getLayoutInflater().inflate(R.layout.custom_action_bar, null); ...

    ActionBar 动画效果

    这里的`R.id.action_bar`是ActionBar在布局文件中的ID,需要在主题(Theme)中设置。如果你使用的是AppCompatActivity,那么默认的Toolbar可以作为ActionBar的替代品,可以通过以下方式获取: ```java Toolbar ...

    郭霖所写的关于ActionBar解析和实战博客中的源码

    郭霖的博客可能还涉及到了一些高级技巧,比如通过`Theme.AppCompat`系列主题调整ActionBar的样式,以及如何在Fragment中控制ActionBar的显示和隐藏。 总之,理解并熟练运用ActionBar是每个Android开发者必备的技能...

    actionbar实现顶部导航

    8. **动态加载和隐藏ActionBar**:根据应用需求,可以使用`getSupportActionBar().show()`和`getSupportActionBar().hide()`方法来控制`ActionBar`的可见性。 通过以上知识点,我们可以实现一个具有顶部导航功能的...

    Android ActionBar Demo

    可以使用Theme.AppCompat的子主题(如`Theme.AppCompat.Light.NoActionBar`)或在XML布局中使用`<androidx.drawerlayout.widget.DrawerLayout>`来动态隐藏或显示ActionBar。 总之,"Android ActionBar Demo"将向...

    ActionBar示例

    - 在XML布局文件中使用`<androidx.appcompat.widget.Toolbar>`作为ActionBar的替代品。 - 在Activity的Java或Kotlin代码中,通过`setSupportActionBar()`方法将Toolbar设置为ActionBar。 4. **添加动作按钮** - ...

    ActionBar小例子

    本例子旨在介绍如何自定义`ActionBar`的样式,让其符合应用程序的设计需求。 自定义`ActionBar`主要涉及以下几个方面: 1. **主题设置**: 在`AndroidManifest.xml`文件中,针对需要自定义`ActionBar`的Activity...

    ActionBar和Fragment的经典实例

    例如,可以使用`setSupportActionBar()`方法将一个Toolbar设置为`ActionBar`,通过`getSupportActionBar()`获取`ActionBar`对象并调用其方法进行设置,如`setDisplayOptions()`用于设置显示或隐藏某些元素,`...

    ActionBar实用案例

    在代码层面,可以通过`setSupportActionBar()`方法设置ActionBar,然后使用`getSupportActionBar().setDisplayOptions()`方法来控制ActionBar的显示样式,例如显示或隐藏应用的图标和标题。此外,可以使用`setTitle...

    ActionBar实例

    2. **配置ActionBar**:通过`setSupportActionBar()`方法启用ActionBar,然后可以使用`getSupportActionBar().setDisplayOptions()`来定制显示样式,例如显示或隐藏应用图标、设置导航模式等。 3. **连接两者**:...

    Android之ActionBar

    将Toolbar作为父布局的一部分,并通过`setSupportActionBar(toolbar)`将其设置为ActionBar。 ### ActionBar的组成部分 1. **应用图标(Logo/Icon)** 默认情况下,ActionBar会显示应用的图标。使用`...

    Android 仿QQ浏览器WebView,滑动隐藏显示ActionBar效果

    在Android开发中,为了提供更好的用户体验,我们常常需要模仿知名应用的设计,比如QQ浏览器的滑动隐藏显示ActionBar的效果。这个效果使得用户在浏览网页时,可以通过手势操作来控制ActionBar的可见性,提升浏览的...

Global site tag (gtag.js) - Google Analytics