3

首先,我正在尝试使用这个库,并且正在尝试编译一个基本测试程序:https ://github.com/siyamed/android-satellite-menu

我已将项目保存到我的硬盘驱动器并将其导入 Eclipse。我还确保它使用 Java 1.6 进行编译并设置为“is library”。实际的库是在 Eclipse 中设置的,没有任何错误。

至于我的项目,我已按照 GitHub 上列出的说明进行操作,但我的 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'

这是整个 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>

还有我的 Java 源文件:

package com.example.test_satellite_menu;

import java.util.ArrayList;
import java.util.List;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.ext.SatelliteMenu;
import android.view.ext.SatelliteMenuItem;

public class MainActivity extends Activity {
SatelliteMenu menu = (SatelliteMenu) findViewById(R.id.menu);
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    List<SatelliteMenuItem> items = new ArrayList<SatelliteMenuItem>();
    items.add(new SatelliteMenuItem(4, R.drawable.ic_launcher));
    items.add(new SatelliteMenuItem(4, R.drawable.ic_launcher));
    items.add(new SatelliteMenuItem(4, R.drawable.ic_launcher));
    items.add(new SatelliteMenuItem(3, R.drawable.ic_launcher));
    items.add(new SatelliteMenuItem(2, R.drawable.ic_launcher));
    items.add(new SatelliteMenuItem(1, R.drawable.ic_launcher));
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}
}

我已经确保我的测试项目包含了卫星菜单库,并且我使用了“修复项目属性”和“清理项目”,所以现在我没有想法了 :) 关于获取的任何反馈这工作会很棒。谢谢!


在通过 StackOverflow 阅读更多内容后找到了我自己的答案。不得不将 android.view.awt 包名更改为我当前项目的包名。

4

3 回答 3

2

在通过 StackOverflow 阅读更多内容后找到了我自己的答案。不得不将 android.view.awt 包名更改为我当前项目的包名。

于 2013-02-27T07:41:18.857 回答
1
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:sat="http://schemas.android.com/apk/res/com.example.android.activities"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|center_horizontal"
    android:layout_weight="0.10"
    >

    <com.example.android.activities.SatelliteMenu
        android:id="@+id/satteliteMenu"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|center_horizontal"
        android:layout_margin="8dp"
        sat:closeOnClick="false"
        sat:expandDuration="500"
        sat:mainImage="@drawable/ic_launcher"
        sat:satelliteDistance="130dp"
        sat:totalSpacingDegree="180" />
</FrameLayout>

编辑 xmlns 并在 /res/.. 之后添加您的项目包名称并清除您的项目。

于 2014-06-05T11:28:43.237 回答
0
     SatelliteMenu menu = (SatelliteMenu) findViewById(R.id.satelliteMenu1);
     float distance = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,            170, getResources().getDisplayMetrics());
              menu.setSatelliteDistance((int) distance);
              menu.setExpandDuration(300);
              menu.setCloseItemsOnClick(true);
              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);  
于 2013-12-24T05:39:17.003 回答