如何使用完美圆角显示RelativeLayout(MapView)

时间:2018-02-06 10:49:46

标签: android android-layout android-relativelayout

我在主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>

1 个答案:

答案 0 :(得分:1)

使用(MainActivity.this).getResources().getDrawable(R.drawable.layout_bg)然后你就不会收到错误.. !!