我如何使我的svg文件占据整个给定的Linearlayout背景在Android



我没有得到我的svg图像填充我的项目的背景线性布局!要下载我正在使用的svg库,请单击此处androidsvg-1.2.1.jar。SVG文件下载,点击这里。

android XML代码:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:paddingTop="0dp"
android:paddingBottom="0dp"
android:weightSum="1"
android:orientation="vertical"
tools:context=".MenuActivity"
android:background="#fff5f5f5">
<LinearLayout
    android:id="@+id/titulo_menu"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:paddingBottom="0dp"
    android:orientation="vertical"
    android:layout_weight="0.22"
    android:weightSum="1">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.8"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="bem_vindo"
        android:textSize="33sp"
        android:textColor="#ff5c5c5c"
        android:typeface="sans"
        android:gravity="center" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.2"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="escolha"
        android:textSize="12sp"
        android:gravity="bottom|center_horizontal" />
</LinearLayout>
<LinearLayout
    android:id="@+id/opcoes_menu"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0.68"
    android:onClick="saberDimensao">
</LinearLayout>
<LinearLayout
    android:id="@+id/rodape_nextcompany"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:orientation="horizontal"
    android:layout_weight="0.05">
    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="quci"
        android:orientation="horizontal"
        android:gravity="right"
        android:layout_weight="47"
        android:layout_gravity="bottom"
        android:textStyle="bold"
        android:textColor="#ffc04f4c"
        android:paddingRight="1dp" />
    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:layout_weight="53"
        android:text="quick"
        android:orientation="horizontal"
        android:gravity="left"
        android:layout_gravity="bottom"
        android:textColor="#ff548dd4"
        android:textStyle="bold" />

</LinearLayout>
<TextView
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:layout_weight="0.05"
    android:text="quick"
    android:paddingTop="0dp"
    android:layout_gravity="center_horizontal"
    android:gravity="center_horizontal" />

android Java code:
import android.graphics.Picture;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.PictureDrawable;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.Toast;
import com.caverock.androidsvg.SVG;
import com.caverock.androidsvg.SVGParseException;

public class MenuActivity extends ActionBarActivity {
    private LinearLayout linearLayout;
    private double SIZE_VERTICAL = 0.68;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_menu);
        linearLayout = (LinearLayout) findViewById(R.id.opcoes_menu);
        linearLayout.setOrientation(LinearLayout.VERTICAL);
        try
        {
            SVG svg = SVG.getFromResource(this, R.raw.desenho);
            Drawable drawable = new PictureDrawable(svg.renderToPicture());
            if(Build.VERSION.SDK_INT >= 16){
                linearLayout.setBackground(drawable.getCurrent());
            }else{
                linearLayout.setBackgroundDrawable(drawable);
            }
        }
        catch(SVGParseException e){
            Log.e("MenuActivity", "Nao eh possivel abrir SVG File." + e);
        }
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu, menu);
        return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.sobre) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

将此代码添加到manifest.xml中'application'标签之后

    <supports-screens android:resizeable="true"
                  android:smallScreens="true" 
                  android:normalScreens="true" 
                  android:largeScreens="true"
                  android:anyDensity="true" />
参考

最新更新