TextView将活动的主题颜色作为背景而不是背景图像

时间:2014-10-01 08:43:11

标签: android layout

我创建了一个活动并应用了橙色的主题。我创建了一个包含背景图像和2个TextView对象的自定义View对象。 1 TextView在左侧,另一个在右侧。

我只是将该自定义视图作为活动的标题视图。 TextView的背景必须是背景图像,但它显示主题橙色作为背景。

我的代码:

Header.java:

package com.example.themes;

import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.LinearLayout;

public class Header extends LinearLayout{

    public Header(Context context) {
        super(context);
        init();
    }

    public Header(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public Header(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init();
    }

    public void init(){
        LayoutInflater layInflator = (LayoutInflater)     getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);


        layInflator.inflate(R.layout.header_layout, this);
    }
}

header_layout.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ImageView
        android:id="@+id/imgView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/action_bar" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="left" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="right" />

</RelativeLayout>

activity_main.xml中:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.themes.MainActivity" >

    <com.example.themes.Header
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         />

</RelativeLayout>

MainActivity.java:

package com.example.themes;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

1 个答案:

答案 0 :(得分:0)

你有多种方法可以做到这一点

  1. 使用 android:scaleType =“fitXY”

  2. 使用 android:background =“@ drawable / image”代替 android:src

  3. 最好是删除ImageView并在RelativeLayout上应用 android:background =“@ drawable / image”