我在主mapview
Relative Layout
我想将mapView完全舍入。
我在互联网上搜索得到答案说我应该制作新的可绘制的xml并将其添加到我希望通过setBackgorund(R.drawable.xxxx)
舍入的布局。
所以,我在drawable文件夹中创建了layout_bg.xml
。
layout_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<!-- solid background -->
<solid android:color="#ffffba54"/>
<!-- border-->
<stroke
android:color="#ffff206a"
android:width="2dp"
/>
<corners android:radius="25dp"/>
<!-- different corners with different radius-->
<!--corners
android:bottomLeftRadius="5dp"
android:topLeftRadius="10dp"
android:topRightRadius="15dp"
android:bottomRightRadius="20dp"
/-->
</shape>
</item>
但它根本不起作用。 所以,我试图以编程方式进行。
MainActivity.java
setContentView(R.layout.activity_main);
mapView = new MapView(this);
ViewGroup mapViewContainer = (ViewGroup)
findViewById(R.id.map_view);
mapViewContainer.setBackgroundDrawable(R.drawable.layout_bg);
<--- Here I get error. because R.drawable.layout_bg is int
Log.e("mp","mapView2");
mapViewContainer.addView(mapView);
activity_main.xml中
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="11dp"
android:layout_marginStart="11dp"
android:layout_marginTop="85dp"
android:text="aaaaaaaa" />
<RelativeLayout
android:id="@+id/map_view"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
/>
</RelativeLayout>
答案 0 :(得分:1)
使用(MainActivity.this).getResources().getDrawable(R.drawable.layout_bg)
然后你就不会收到错误.. !!