首先,我尝试使用这个库,并试图编译一个基本的测试程序:https://github.com/siyamed/android-satellite-menu
我已将项目保存到我的硬盘并导入Eclipse。我还确保它使用Java 1.6进行编译,并设置为“is library”。在Eclipse中设置了实际的库,没有任何错误。
至于我的项目,我遵循GitHub上列出的说明,但是从我的XML文件中得到了以下错误:
我已确认我的测试项目中包含卫星菜单库,我也使用了“修复项目属性”和“清除项目”的功能,但现在我想不出其他的方法了 :) 如果能提供有关使其正常工作的任何反馈意见将非常棒。谢谢!
通过阅读StackOverflow,我找到了自己的答案。必须将android.view.awt包名更改为当前项目的包名。
至于我的项目,我遵循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包名更改为当前项目的包名。