为API 8实现GridLayout v7,

时间:2014-06-27 21:49:18

标签: android android-layout compatibility xml-namespaces android-gridlayout

我的布局有问题,该布局使用Android支持库v7 android.support.v7.widget.GridLayout中的GridLayout小部件。

我已经从这条路径中添加了外部JAR:

  

<sdk_folder>\extras\android\support\v7\gridlayout

到我的项目属性:Project->Properties->Java Build Path->Libraries标签。
此外,在&#34;订单和导出&#34;中的相同属性窗口中;选项卡,我在列表中标记了导入的JAR的框。


但是当我在布局中使用这个小部件时,它会给我GridLayout中的下一个错误:

  

-error:找不到属性&#39; columnCount&#39;的资源标识符。在包装&#39; com.mwm.internews&#39;   
  -error:找不到属性&#39; rowCount&#39;的资源标识符。在包裹&#39; com.mwm.internews&#39;

另外,我对此GridLayout中包含的每个子视图都有相同的错误(我在GridLayout中有三个TextViews ,它们会抛出相同的错误)

我的项目包名称为com.mwm.internews。这是带有问题的XML文件,我只将上面提到的三个TextView中的一个用于参考:

element_page_2.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:background="@color/White"
   android:gravity="center_vertical" >

    <RatingBar
        android:id="@+id/rba_rating_element_page_2"
        android:layout_width="wrap_content"
        android:layout_height="26dp"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="5dp"
        android:numStars="10"
        android:progressDrawable="@drawable/element_ratingbar"
        android:rating="5.0"
        android:stepSize="1.0" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/rba_rating_element_page_2"
        android:gravity="center_horizontal" >

        <android.support.v7.widget.GridLayout
            xmlns:grid="http://schemas.android.com/apk/res-auto"
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/glo_content_rating_element_page_2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_toRightOf="@+id/imv_image_element_page_2"
            grid:columnCount="2"
            grid:rowCount="2" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                grid:layout_column="0"
                grid:layout_gravity="center_vertical|left"
                grid:layout_row="0"
                android:background="@color/Transparent"
                android:text="@string/txt_text_rating_element_page_2"
                android:textColor="@color/DarkGray"
                android:textSize="24sp"
                android:textStyle="normal" />

            <TextView
                ... />

            <TextView
                ... />
        </android.support.v7.widget.GridLayout>

以下是在接下来的2个TextViews上重复的第一个TextView的错误:

  

-error:找不到属性&#39; layout_column&#39;的资源标识符。在包装&#39; com.mwm.internews&#39;   
  -error:找不到属性&#39; layout_gravity&#39;的资源标识符。在包装&#39; com.mwm.internews&#39;   
  -error:找不到属性&#39; layout_row&#39;的资源标识符。在包裹&#39; com.mwm.internews&#39;

我一直在搜索这样的许多问题,并按照每个问题发布解决方案步骤....但没有成功。 我究竟做错了什么???我在XML文件上缺少什么?


在此先感谢帮助我解决这个问题....

1 个答案:

答案 0 :(得分:2)

  

我已经从这条路径添加了外部JAR:

     

\额外\机器人\支持\ V7 \ GridLayout的

     

到我的项目属性:Project-&gt; Properties-&gt; Java Build Path-&gt; Libraries选项卡。   此外,在“订购和导出”选项卡的相同“属性”窗口中,我在列表中标记了导入的JAR的框。

这些都不正确。

首先,永远不要在Eclipse Android项目中为任何JAR添加JAR。 JAR只是被复制到Eclipse上的libs/

但是,gridlayout-v7是一个Android库项目,而不仅仅是一个JAR。有一个separate set of instructions用于将Android库项目添加到您的应用程序项目中。