0

我在这里被指出了这个项目:

https://github.com/siyamed/android-satellite-menu

下载后看起来很棒。但是我无法在我的应用程序中获得一个简单的版本。我已将提供的 .jar 添加到我的项目中,它出现在依赖项中。我遇到的问题是xml文件。它是这样提供的:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:sat="http://schemas.android.com/apk/res/android.view.ext"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <android.view.ext.SatelliteMenu
        android:id="@+id/menu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|left" 
        android:layout_margin="8dp"
        sat:satelliteDistance="170dp"
        sat:mainImage="@drawable/ic_launcher"
        sat:totalSpacingDegree="90"
        sat:closeOnClick="true"
        sat:expandDuration="500"/>

</FrameLayout>

SO上的另一篇文章说将包类型更改为您自己的包。所以我把它改成了:

xmlns:sat="http://schemas.android.com/apk/res/my.app"

但我仍然在 xml 文件中收到此错误:

Multiple annotations found at this line:
    - error: No resource identifier found for attribute 'satelliteDistance' in package 
     'android.view.ext'
    - error: No resource identifier found for attribute 'mainImage' in package 'android.view.ext'
    - error: No resource identifier found for attribute 'closeOnClick' in package 
     'android.view.ext'
    - error: No resource identifier found for attribute 'expandDuration' in package 
     'android.view.ext'
    - error: No resource identifier found for attribute 'totalSpacingDegree' in package 
     'android.view.ext'

我也试过在这里改变包裹减速:

<android.view.ext.SatelliteMenu
    android:id="@+id/menu"

以及一个和另一个的组合。但我只是不断收到同样的错误。

我究竟做错了什么?

4

3 回答 3

2

改变

xmlns:sat="http://schemas.android.com/apk/res/android.view.ext

xmlns:sat="http://schemas.android.com/apk/res-auto"

这应该有效,但对我有用。

不要忘记清理你的项目。

于 2014-10-22T16:40:36.150 回答
1

在这里找到了一个类似的问题,Implementing Satellite Menu for Android, XML File States No Resource Found

因此,您只需要将包名称更改android.view.ext 为您自己的包名称,例如com.tac.grewords,清理项目,现在一切都应该没问题了。

于 2013-05-28T14:57:40.397 回答
0
SatelliteMenu menu = (SatelliteMenu) findViewById(R.id.satelliteMenu1);
    float distance = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 170, getResources().getDisplayMetrics());
    //The distance of items from the center button
    menu.setSatelliteDistance((int) distance);
    //The duration of expand and collapse operations in milliseconds.
    menu.setExpandDuration(300);
    menu.setCloseItemsOnClick(true);
    //The degree between the first and the last item.
    menu.setTotalSpacingDegree(120);

    List<SatelliteMenuItem> items = new ArrayList<SatelliteMenuItem>();
    items.add(new SatelliteMenuItem(6, R.drawable.ic_action_search));
    items.add(new SatelliteMenuItem(5, R.drawable.ic_action_search));
    items.add(new SatelliteMenuItem(4, R.drawable.ic_action_search));
    items.add(new SatelliteMenuItem(3, R.drawable.ic_action_search));
    items.add(new SatelliteMenuItem(2, R.drawable.ic_action_search));
    items.add(new SatelliteMenuItem(1, R.drawable.ic_action_search));
    menu.addItems(items); 

从项目属性中添加卫星菜单作为库。然后,您将在自定义和库视图中获得卫星菜单,只需将其拖放到您的 xml 文件中。然后将上面的代码放入您的java文件中,该文件实际上为卫星菜单设置数据。

于 2013-12-24T05:58:58.570 回答