meh*_*meh 4 android google-maps-android-api-2
我正在尝试使用自定义布局的SupportMapFragment,现在以下代码可以工作:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View view = super.onCreateView(inflater, container, savedInstanceState);
// initMap();
return view;
}
Run Code Online (Sandbox Code Playgroud)
但我想改变onCreateView()方法来膨胀不同的布局,而不是调用super.onCreateView()方法.看起来像这样:
View view = inflater.inflate(R.layout.fragment, container,false);
mMap = (GoogleMap)view.findViewById(R.id.mapview);
Run Code Online (Sandbox Code Playgroud)
但谷歌地图不是view这样我不能将其添加到xml中,如下所示:
<com.google.android.gms.maps.GoogleMap
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
Run Code Online (Sandbox Code Playgroud)
小智 5
我在地图上方添加了一个LinearLayout.我将这个布局用于按钮:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/llPlaces"
android:orientation="horizontal"
android:background="@color/ACGris">
<Button android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BUTTON1"/>
<Button android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BUTTON2"/>
<Button android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="BUTTON3"/>
Run Code Online (Sandbox Code Playgroud)
然后我创建了一个扩展SupportMapFragment的类
public class FrgMapas extends SupportMapFragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View viewMain = super.onCreateView(inflater, container, savedInstanceState);
View viewButtons = inflater.inflate(R.layout.layout_buttons, null);
FrameLayout mainChild = (FrameLayout) ((ViewGroup)viewMain).getChildAt(0);
mainChild.addView(viewButtons);
Button btn1 = (Button) viewMain.findViewById(R.id.btn1);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getActivity(), "TuTa :)", Toast.LENGTH_LONG).show();
}
});
return viewMain;
}
Run Code Online (Sandbox Code Playgroud)
希望这对你有用
| 归档时间: |
|
| 查看次数: |
6458 次 |
| 最近记录: |