在长按桌面应用图标时,会隐藏状态栏,然后在状态栏原有的布局上显示卸载或删除的操作栏。放手后,操作栏隐藏,状态栏显示出来。也就是说,这个过程是涉及到对状态栏的动态操作的。
View类提供了setSystemUiVisibility和getSystemUiVisibility方法,这两个方法实现对状态栏的动态显示或隐藏的操作,以及获取状态栏当前可见性。
setSystemUiVisibility(int visibility)方法可传入的实参为:
1 ViewSYSTEM_UI_FLAG_VISIBLE:显示状态栏,Activity不全屏显示(恢复到有状态的正常情况)。
2 ViewINVISIBLE:隐藏状态栏,同时Activity会伸展全屏显示。
3 ViewSYSTEM_UI_FLAG_FULLSCREEN:Activity全屏显示,且状态栏被隐藏覆盖掉。
4 ViewSYSTEM_UI_FLAG_LAYOUT_FULLSCREEN:Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分会被状态遮住。
5 ViewSYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION:效果同ViewSYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
6 ViewSYSTEM_UI_LAYOUT_FLAGS:效果同ViewSYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
7 ViewSYSTEM_UI_FLAG_HIDE_NAVIGATION:隐藏虚拟按键(导航栏)。有些手机会用虚拟按键来代替物理按键。
8 ViewSYSTEM_UI_FLAG_LOW_PROFILE:状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。
下面将以一个demo来验证view的setSystemUiVisibility(int visibility)方法实现动态操作状态栏:
1MainActivity代码如下:
[java] view plaincopy
package comexamplehandlestatusbar;
import androidannotationSuppressLint;
import androidappActivity;
import androidosBundle;
import androidviewMenu;
import androidviewMenuItem;
import androidviewView;
import androidviewViewOnClickListener;
import androidwidgetButton;
import androidwidgetRelativeLayout;
import androidwidgetToast;
@SuppressLint("NewApi")
public class MainActivity extends Activity implements OnClickListener
{
private RelativeLayout mRLayout;
private Button mBtn1, mBtn2, mBtn3, mBtn4, mBtn5, mBtn6, mBtn7, mBtn8;
@Override
protected void onCreate(Bundle savedInstanceState)
{
superonCreate(savedInstanceState);
setContentView(Rlayoutmain);
mRLayout = (RelativeLayout)findViewById(Ridcontent);
mBtn1 = (Button)findViewById(Ridbtn1);
mBtn2 = (Button)findViewById(Ridbtn2);
mBtn3 = (Button)findViewById(Ridbtn3);
mBtn4 = (Button)findViewById(Ridbtn4);
mBtn5 = (Button)findViewById(Ridbtn5);
mBtn6 = (Button)findViewById(Ridbtn6);
mBtn7 = (Button)findViewById(Ridbtn7);
mBtn8 = (Button)findViewById(Ridbtn8);
mBtn1setOnClickListener(this);
mBtn2setOnClickListener(this);
mBtn3setOnClickListener(this);
mBtn4setOnClickListener(this);
mBtn5setOnClickListener(this);
mBtn6setOnClickListener(this);
mBtn7setOnClickListener(this);
mBtn8setOnClickListener(this);
}
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
switch (vgetId())
{
case Ridbtn1:
//显示状态栏,Activity不全屏显示(恢复到有状态的正常情况)
mRLayoutsetSystemUiVisibility(ViewSYSTEM_UI_FLAG_VISIBLE);
break;
case Ridbtn2:
//隐藏状态栏,同时Activity会伸展全屏显示
mRLayoutsetSystemUiVisibility(ViewINVISIBLE);
break;
case Ridbtn3:
//Activity全屏显示,且状态栏被隐藏覆盖掉。
mRLayoutsetSystemUiVisibility(ViewSYSTEM_UI_FLAG_FULLSCREEN);
break;
case Ridbtn4:
//Activity全屏显示,但状态栏不会被隐藏覆盖,状态栏依然可见,Activity顶端布局部分会被状态遮住
mRLayoutsetSystemUiVisibility(ViewSYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
break;
case Ridbtn5:
//同mRLayoutsetSystemUiVisibility(ViewSYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
mRLayoutsetSystemUiVisibility(ViewSYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
break;
case Ridbtn6:
//同mRLayoutsetSystemUiVisibility(ViewSYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
mRLayoutsetSystemUiVisibility(ViewSYSTEM_UI_LAYOUT_FLAGS);
break;
case Ridbtn7:
//隐藏虚拟按键(导航栏)
mRLayoutsetSystemUiVisibility(ViewSYSTEM_UI_FLAG_HIDE_NAVIGATION);
break;
case Ridbtn8:
//状态栏显示处于低能显示状态(low profile模式),状态栏上一些图标显示会被隐藏。
mRLayoutsetSystemUiVisibility(ViewSYSTEM_UI_FLAG_LOW_PROFILE);
break;
}
}
}
2布局文件mainxml文件的代码如下:
[html] view plaincopy
<RelativeLayout xmlns:android="http://schemasandroidcom/apk/res/android"
xmlns:tools="http://schemasandroidcom/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="MainActivity"
android:id="@+id/content">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btn1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/s1"/>
<Button
android:id="@+id/btn2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/s2"/>
<Button
android:id="@+id/btn3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/s3"/>
<Button
android:id="@+id/btn4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/s4"/>
<Button
android:id="@+id/btn5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/s5"/>
<Button
android:id="@+id/btn6"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/s6"/>
<Button
android:id="@+id/btn7"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/s7"/>
<Button
android:id="@+id/btn8"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/s8"/>
</LinearLayout>
</RelativeLayout>
3stringxml文件代码如下:
[html] view plaincopy
<xml version="10" encoding="utf-8">
<resources>
<string name="app_name">HandleStatusBar</string>
<string name="hello_world">Hello world!</string>
<string name="menu_settings">Settings</string>
<string name="s1">SYSTEM_UI_FLAG_VISIBLE</string>
<string name="s2">INVISIBLE</string>
<string name="s3">SYSTEM_UI_FLAG_FULLSCREEN</string>
<string name="s4">SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN</string>
<string name="s5">SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION</string>
<string name="s6">SYSTEM_UI_LAYOUT_FLAGS</string>
<string name="s7">SYSTEM_UI_FLAG_HIDE_NAVIGATION</string>
<string name="s8">SYSTEM_UI_FLAG_LOW_PROFILE</string>
</resources>
我也遇到过这个问题
只是[开始]菜单和任务栏上的图标不是被删了而是显示不出来了
也不知道怎么去修复
只能用笨办法
把原来的删了,再重新建一个
首先进“ C:\Users\此处为你的用户名\AppData\Roaming\Microsoft\Internet
Explorer\Quick Launch\User Pinned” 有三个文件夹,只需要“StartMenu”和“TaskBar”
“StartMenu”这个文件夹是附在[开始]菜单上的软件快捷方式
例:下图为“[开始]菜单”的文件夹
下图为[开始]菜单
“TaskBar”这个文件夹是附在任务栏上的软件快捷方式
同理……
把原来设置在[开始]菜单和任务栏中的图标先删掉
再重新设置下,就行了
如有不明
请追问
直观的说app就是应用软件 现在主要指的都是ios mac android等系统下的应用软件。
下面我们就来例举下现在主流的APP应用商店和相应的APP的格式:
1、苹果的iOS系统,app格式有ipa,pxl,deb,这里的APP都是用在iphone系列的手机和平板电脑上。这类手机在中国的市场的占用率大概是10%多一点。
2、Android格式有:apk, 这里APP主要用在使用安卓系统的智能手机上,这类的手机在中国市场上的占用率最高,差不多现在快占有市场80%。
3、诺基亚的S60系统格式有sis,sisx,市场占有率比较低。
4、微软的WindowsPhone7、WindowsPhone8系统,app格式为xap。
目前比较著名的App商店有Apple的iTunes商店里面的App Store,android的Google Play Store,诺基亚的ovi store,还有Blackberry用户的,BlackBerry App World
APP创新性开发,始终是用户的关注焦点,而商用APP客户端的开发,更得到诸多网络大亨们的一致关注与赞许。与趋于成熟的美国市场相对比,我国开发市场正处于高速生长阶段。
APP开发的语言有很多种,指动乾坤认为主流有四种
1、iOS平台开发语言为Objective-C;
2、安卓 Android开发语言为java;
3、微软Windows phone7开发语言是C#;
4、塞班symbian系统版本开发语言是C++。
延伸阅读:
移动App带来的好处:
第一、APP用户增长速度快、经济能力强,思维活跃。
第二、App可整合LBS、QR、AR等新技术,带给用户前所未有的用户体验。
第三、App基于手机的随时随身性、互动性特点,容易通过微博、SNS等方式分享和传播,实现裂变式增长。
第四、APP的开发成本,相比传统营销手段成本更低。
第五、通过新技术以及数据分析,APP可实现精准定位企业目标用户,实现低成本快速增长成为可能。
第六、用户手机安装APP以后,企业即埋下一颗种子,可持续与用户保持联系。
商联网推出的移动App,更是具备了“在线订位,点餐,邀请,分享,优惠”等功能。
欢迎分享,转载请注明来源:品搜搜测评网