zoukankan      html  css  js  c++  java
  • actionBar兼容2.1及以上版本的做法 .

    正在准备一个项目,需要尊重android design的同时还要做到很好的兼容低版本,于是就先从actionBar开始吧。

    1,新建一个android工程startActionBar,minSdkVersion="7",targetSdkVersion="18",用19(暂时最新)的版本编译。

    1. <uses-sdk  
    2.         android:minSdkVersion="7"  
    3.         android:targetSdkVersion="18" /> 

    2,将sdk下面的v7工程作为一个project导入到eclipse中,名为“android-support-v7-appcompat”的工程。

                     v7工程的路径在sdk的目录中位置:“androidsdkextrasandroidsupportv7appcompat”

    3,设置startActionBar工程包含上面的工程源。

    startActionBar工程上右键 -> Properties -> Android -> add -> “选择android-support-v7-appcompat” -> 保存ok。

    你会看到gen目录下已经有了v7工程的源码。

    4,继承ActionBarActivity写一个activity

     
    1. import android.os.Bundle;  
    2. import android.support.v7.app.ActionBarActivity;  
    3. import android.view.Menu;  
    4.   
    5. public class MainActivity extends ActionBarActivity {  
    6.   
    7.     @Override  
    8.     protected void onCreate(Bundle savedInstanceState) {  
    9.         super.onCreate(savedInstanceState);  
    10.         setContentView(R.layout.activity_main);  
    11.     }  
    12.   
    13.     @Override  
    14.     public boolean onCreateOptionsMenu(Menu menu) {  
    15.         //加载action items   
    16.         getMenuInflater().inflate(R.menu.main, menu);  
    17.         return true;  
    18.     }  
    19.   
    20. }  


    5,manifest代码

     
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
    3.     package="com.example.tab"  
    4.     android:versionCode="1"  
    5.     android:versionName="1.0" >  
    6.   
    7.     <uses-sdk  
    8.         android:minSdkVersion="7"  
    9.         android:targetSdkVersion="18" />  
    10.   
    11.     <application  
    12.         android:allowBackup="true"  
    13.         android:icon="@drawable/ic_launcher"  
    14.         android:label="@string/app_name"  
    15.         android:theme="@style/AppTheme" >  
    16.         <activity  
    17.             android:name="com.example.tab.MainActivity"  
    18.             android:label="@string/app_name"   
    19.             android:theme="@style/Theme.AppCompat.Light">  
    20.             <intent-filter>  
    21.                 <action android:name="android.intent.action.MAIN" />  
    22.   
    23.                 <category android:name="android.intent.category.LAUNCHER" />  
    24.             </intent-filter>  
    25.         </activity>  
    26.     </application>  
    27.   
    28. </manifest>  


    6,res/menu/main.xml 内容

     
    1. <menu xmlns:android="http://schemas.android.com/apk/res/android"   
    2.     xmlns:Tab="http://schemas.android.com/apk/res-auto">  
    3.       
    4.     <item  
    5.         android:id="@+id/action_photo"  
    6.         android:orderInCategory="99"  
    7.         Tab:showAsAction="ifRoom|withText"  
    8.         android:title="@string/photo"  
    9.         android:icon="@drawable/collections_view_as_grid"/>  
    10.       
    11.     <item  
    12.         android:id="@+id/action_text"  
    13.         android:orderInCategory="98"  
    14.         Tab:showAsAction="ifRoom|withText"  
    15.         android:title="@string/text"  
    16.         android:icon="@drawable/content_copy"/>  
    17.       
    18.     <item  
    19.         android:id="@+id/action_settings"  
    20.         android:orderInCategory="100"  
    21.         android:showAsAction="never"  
    22.         android:title="@string/action_settings"/>  
    23.   
    24. </menu>  


    这里有三点需要特别注意:(1)、“

    1. android:icon="@drawable/collections_view_as_grid"  
  • 相关阅读:
    不常用的cmd命令
    js获取宽度
    Marshaling Data with Platform Invoke 概览
    Calling a DLL Function 之三 How to: Implement Callback Functions
    Marshaling Data with Platform Invoke 之四 Marshaling Arrays of Types
    Marshaling Data with Platform Invoke 之一 Platform Invoke Data Types
    Marshaling Data with Platform Invoke 之三 Marshaling Classes, Structures, and Unions(用时查阅)
    Calling a DLL Function 之二 Callback Functions
    WCF 引论
    Marshaling Data with Platform Invoke 之二 Marshaling Strings (用时查阅)
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4096977.html
Copyright © 2011-2022 走看看