将图像放在活动背景中(使用其他图像)

时间:2015-05-04 17:00:26

标签: android android-layout drawable

我正在使用这个应用程序,它基本上显示图像和一些文本。 背景看起来像这样 http://upload.wikimedia.org/wikipedia/commons/b/b2/Auto_Racing_Black_White.svg

现在,我确实将活动的背景设置为此图像。 我想实现一个功能,我可以点击一个按钮,一些存储的图像将被导入并放置并适合WHITE空间,并在BLACK空间中显示一些文本。

我会怎么做?

package self.name.firstandroidprogram;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;

public class Class2 extends Activity {

    LinearLayout layout1;
    TextView text1;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        layout1 = new LinearLayout(this);
        text1 = new TextView(this);

        text1.setText("RedNet");

        layout1.setBackgroundResource(R.drawable.rn);


        layout1.addView(text1);

        setContentView(layout1);
    }

}

这是我的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="self.name.firstandroidprogram.Class2" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/hello_world" />



    </RelativeLayout>

1 个答案:

答案 0 :(得分:0)

我将它留给你制作布局,但正如我所说,只需使用RelativeLayout,并将事物置于彼此之上。还要将第二个图像的ImageView和TextView添加到布局中,然后使用android:visibility="invisible"使它们不可见。以下代码用于按钮使这两个可见。

final ImageView iv = (ImageView) findViewById(R.id.imageView2);
final TextView tv = (TextView) findViewById(R.id.textview_id);
final Button button = (Button) findViewById(R.id.button_id);
     button.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
              iv.setVisibility(View.VISIBLE);
              tv.setVisibility(View.VISIBLE);
         }