Android ActionBarCompat,操作栏无法正确显示

时间:2014-03-30 11:38:51

标签: android android-actionbar compatibility

screenshot

我正在使用android.support.v7库来支持旧设备上的操作栏,并使用android.support.v4来支持片段。

我在Android 2.版本上的应用程序*没有正确显示ActionBar,它被拉伸以填充屏幕并且框架布局没有显示。 ActionBarDrawerToggle按钮可以点击,但它没有做任何事情。

LogCat输出中没有显示错误或警告。

的AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.test"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar" >
        <activity
            android:name="com.example.test.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

在MainActivity中:

...
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBar.OnNavigationListener;
import android.support.v7.app.ActionBarActivity;

...
public class MainActivity extends ActionBarActivity
...

MainActivity布局:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <!-- The main list content view -->
    <FrameLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/fragmentContainer"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <!-- The navigation drawer -->
    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:choiceMode="singleChoice"
        android:background="@color/light_gray"
        android:dividerHeight="0dp" />
</android.support.v4.widget.DrawerLayout>

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我通过删除&#34; libs&#34;中的v4 jar支持库解决了这个问题。文件夹并删除v7支持库文件夹,该文件夹已从eclipse项目导入并将其添加到依赖项部分中的build.gradle文件中:

compile "com.android.support:support-v4:18.0.+"
compile "com.android.support:appcompat-v7:19.1.0+"