Android ActionBar-左上角icon设置和事件配置

<p>Android ActionBar-左上角icon设置和事件配置 &lt;3&gt;</p><p>问题:</p><p> 在使用Actionbar时,默认在左上角是会有一个跟软件发布时的LOGO一样的图标,在大多数情况下按照默认图标进行显示已经很好,既使得软件整体统一,也方便省事。但有些情况下,还是希望不同的界面左上角的图标是不同的,或不想使用默认的LOGO,比如LOGO是有底色,放在Actionbar上不好看……</p><p>解决办法:</p><p> 在配置文件Manifest中增加android:logo=&quot;@drawable/logo_top&quot;属性,如果是想给整个程序添加统一的自定义图标,则在application标签下增加该属性;如果是想针对不同的activity添加不同的左上角图标,则在各自的activity标签下增加该属性,然后指向不同的图片资源即可。</p><p>上面的一位网友给出的方法非常只好.</p><p>下面给出一个demo来测试一下:</p><p>AndroidManifest.xml :</p><pre class="brush:xml;toolbar:false">&lt;?xmlversion=&quot;1.0&quot;encoding=&quot;utf-8&quot;?&gt; &lt;manifestxmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; package=&quot;com.example.iconshow&quot; android:versionCode=&quot;1&quot; android:versionName=&quot;1.0&quot;&gt; &lt;uses-sdk android:minSdkVersion=&quot;8&quot; android:targetSdkVersion=&quot;17&quot;/&gt; &lt;application android:allowBackup=&quot;true&quot; android:icon=&quot;@drawable/ic_launcher&quot; android:label=&quot;@string/app_name&quot; android:theme=&quot;@style/AppTheme&quot;&gt; &lt;activity android:name=&quot;com.example.iconshow.MainActivity&quot; android:logo=&quot;@drawable/ic_launcher_settings&quot; android:label=&quot;@string/app_name&quot;&gt; &lt;intent-filter&gt; &lt;actionandroid:name=&quot;android.intent.action.MAIN&quot;/&gt; &lt;categoryandroid:name=&quot;android.intent.category.LAUNCHER&quot;/&gt; &lt;/intent-filter&gt; &lt;/activity&gt; &lt;/application&gt; &lt;/manifest&gt;</pre><p></p><pre class="brush:java;toolbar:false">java代码如下: packagecom.example.iconshow; importandroid.os.Bundle; importandroid.app.ActionBar; importandroid.app.Activity; importandroid.view.Menu; importandroid.view.MenuItem; importandroid.view.Window; importandroid.view.WindowManager; publicclassMainActivityextendsActivity{ @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); //seticoninjava,hereseticoninAndroidManifest.xml,soignorefollowingcode /* requestWindowFeature(Window.FEATURE_LEFT_ICON); getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.ic_launcher_settings); */ ActionBaractionBar=this.getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); setContentView(R.layout.activity_main); } @Override publicbooleanonOptionsItemSelected(MenuItemitem){ //TODOAuto-generatedmethodstub //addtop-lefticonclickeventdeal switch(item.getItemId()){ caseandroid.R.id.home: finish(); } returnsuper.onOptionsItemSelected(item); } @Override publicbooleanonCreateOptionsMenu(Menumenu){ //Inflatethemenu;thisaddsitemstotheactionbarifitispresent. getMenuInflater().inflate(R.menu.main,menu); returntrue; } }</pre><p>运行即可以看到屏幕左上角有一个&quot;&lt;&quot;的返回箭头和在xml中指定的icon图标(96*96pix),点击事件是如下处理的:</p><pre class="brush:xml;toolbar:false">@Override publicbooleanonOptionsItemSelected(MenuItemitem){ //TODOAuto-generatedmethodstub //addtop-lefticonclickeventdeal switch(item.getItemId()){ caseandroid.R.id.home: finish(); } returnsuper.onOptionsItemSelected(item); }</pre>
RangeTime:0.006402s
RangeMem:207.59 KB
返回顶部 留言