Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 即使支持库是使用ActionBarSherlock导入的,也无法使用GridLayout_Android_Actionbarsherlock_Grid Layout - Fatal编程技术网

Android 即使支持库是使用ActionBarSherlock导入的,也无法使用GridLayout

Android 即使支持库是使用ActionBarSherlock导入的,也无法使用GridLayout,android,actionbarsherlock,grid-layout,Android,Actionbarsherlock,Grid Layout,我有一个Android项目,我在其中使用ActionBarSherlock,我将其作为一个单独的项目导入到工作区中,该项目还包含Android支持库 我现在想使用GridLayout,我假设,考虑到支持的存在 图书馆,它将被承认和可用,但它不是。Eclipse告诉我,我需要将项目的最小API设置为14,而我不得不将其设置为8。有没有办法解决这个问题 我希望这足够清楚。谢谢您的帮助。如果不查看项目设置,很难识别您的问题。 我能够从头开始创建新项目,它使用ActionBarSherlock和Grid

我有一个Android项目,我在其中使用ActionBarSherlock,我将其作为一个单独的项目导入到工作区中,该项目还包含Android支持库

我现在想使用GridLayout,我假设,考虑到支持的存在 图书馆,它将被承认和可用,但它不是。Eclipse告诉我,我需要将项目的最小API设置为14,而我不得不将其设置为8。有没有办法解决这个问题


我希望这足够清楚。谢谢您的帮助。

如果不查看项目设置,很难识别您的问题。 我能够从头开始创建新项目,它使用
ActionBarSherlock
GridLayout

  • 确保您拥有最新的
    SDK
    ActionBarSherlock
    GridLayout
    v4支持
    库以及更新的
    ADT Eclipse
    插件
  • 创建新项目并默认保留所有内容,但以下内容除外:

    Build SDK = Android 4.1 (API 16)
    Minimum Required SDK = API 8
    
  • 转到项目属性-->Android并添加actionbarsherlock和 gridlayout库

  • 转到
    res
    文件夹并删除
    values-v11
    values-v13
    子文件夹

  • 编辑
    res\values\styles.xml

    <resources>
        <style name="AppTheme" parent="Theme.Sherlock.Light" />
    </resources>
    
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    
        <android.support.v7.widget.GridLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            app:columnCount="2"
            tools:context=".MainActivity" >
    
            <TextView
                android:padding="@dimen/padding_medium"
                android:text="@string/cell1"
                tools:context=".MainActivity" />
    
            <TextView
                android:padding="@dimen/padding_medium"
                android:text="@string/cell2"
                tools:context=".MainActivity" />
    
            <TextView
                android:padding="@dimen/padding_medium"
                android:text="@string/cell3"
                tools:context=".MainActivity" />
    
            <TextView
                android:padding="@dimen/padding_medium"
                android:text="@string/cell4"
                tools:context=".MainActivity" />
        </android.support.v7.widget.GridLayout>
    
    </RelativeLayout>
    
  • 创建缺少的字符串资源(cell1,…)

  • 编辑MainActivity.java:

    package com.test.gridlayout;
    
    import android.os.Bundle;
    
    import com.actionbarsherlock.app.ActionBar;
    import com.actionbarsherlock.app.SherlockFragmentActivity;
    import com.actionbarsherlock.view.Menu;
    
    public class MainActivity extends SherlockFragmentActivity {
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            ActionBar ab = getSupportActionBar();
            ab.setDisplayShowTitleEnabled(true);
            ab.setDisplayUseLogoEnabled(false);
            ab.setDisplayHomeAsUpEnabled(false);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getSupportMenuInflater().inflate(R.menu.activity_main, menu);
    
            return true;
        }
    }
    
  • 就是这样


  • 如果您仍然有问题,请使用demo project作为起点。

    GridLayout仅向后移植到API 7+,并作为库项目在SDK文件夹中提供。您可以在
    SDK/extras/android/support/v7
    上找到它

    它不是ABS或v4支持库jar的一部分。

    +1表示“android.support.v7.widget.GridLayout”。这正是我所需要的。