【发布时间】:2015-12-05 22:55:10
【问题描述】:
我需要你的帮助。
我在 android 上遇到了浮动操作按钮 (FAB) 的问题。
我想将地图(谷歌地图)作为片段(android studio 的模板)并在地图的右下角添加一个 FAB(如地图应用程序)。
这是在我的手机上编译和启动,但在地图显示之前,异常。
我有谷歌地图 API 的密钥(地图只能正常工作)。
在 gradle 中:compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:design:23.0.1'
所以我可以添加我的 activity_map.xml :
这里是我的 xml 活动: `
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:clickable="true"
android:src="@mipmap/ic_launcher"
app:layout_anchor="@id/map"
app:layout_anchorGravity="bottom|right|end"/>
`
我已经尝试使用片段中的按钮,具有相对布局...
setContentView(R.layout.activity_maps) 上的应用程序在读取 xml 文件时崩溃。
这里是我的活动代码: `公共类 MapsActivity 扩展 FragmentActivity {
private GoogleMap mMap; // Might be null if Google Play services APK is not available.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
FloatingActionButton floatingActionButton = (FloatingActionButton) findViewById(R.id.fab);
floatingActionButton.show();
setUpMapIfNeeded();
floatingActionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast toast = Toast.makeText(getApplicationContext(), "i click on FAB", Toast.LENGTH_SHORT);
toast.show();
}
});
}`
这里是例外:
`java.lang.RuntimeException: Unable to start activity ComponentInfo{io.evenear.evenear/io.evenear.evenear.MapsActivity}: android.view.InflateException: Binary XML file line #10: Error inflating class android.support.design.widget.FloatingActionButton
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)`
【问题讨论】:
标签: android google-maps android-fragments floating-action-button