如何在android中设置背景图片

ish*_*hhh 7 android

我是这个Android开发的新手.我刚刚开始创建一个hello world应用程序.

我试图设置一个背景图像,它工作正常.当我试图在图像上添加文本时,它无法正常工作.

我尝试了下面的方式.任何人都可以帮助我,我出错了.

main.xml中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    android:background="@drawable/andriod" 
    android:layout_gravity="center_vertical" 
    android:gravity="center_vertical"> 

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

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

HelloActivity.java

  import android.app.Activity;
  import android.os.Bundle;
  import android.widget.TextView;
  //import android.widget.ImageView;    

    public class HelloActivity extends Activity {
    //    /** Called when the activity is first created. */
    //    @Override
    //    public void onCreate(Bundle savedInstanceState) {
    //        super.onCreate(savedInstanceState);
    //        setContentView(R.layout.main);
    //    }    

    /** Called when the activity is first created. */
       @Override

       public void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);

           TextView tv = new TextView(this);              
           tv.setText("This is the first andorid app");          
           setContentView(R.layout.main);         
       }
}
Run Code Online (Sandbox Code Playgroud)

在运行时它显示背景图像,但"这是第一个andorid应用程序"未显示.

希望得到你的帮助

Mud*_*sir 6

首先,您需要在text文件中为textview提供一个id,以便可以在Java源代码中访问它(请注意以下XML中的android:id属性) ;

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    android:background="@drawable/andriod" 
    android:layout_gravity="center_vertical" 
    android:gravity="center_vertical"> 

    <TextView
        android:id="@+id/textView"

        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

现在在此textview中设置文本;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    TextView textView = (TextView) findViewId(R.id.textView);

    textView.setText("This is the first andorid app");
}
Run Code Online (Sandbox Code Playgroud)

注意,如何从这里访问XML中声明的textview.

它不是

TextView textView = new TextView(this);
Run Code Online (Sandbox Code Playgroud)

这将创建一个新的textview.但我们需要的是

TextView textView = (TextView) findViewId(R.id.textView);
Run Code Online (Sandbox Code Playgroud)

这将引用上面XML文件中声明的textview.


Not*_*ase 3

您必须在布局文件中选择具有唯一 ID 的 TextView,然后设置其属性。但在您的代码中,您只需使用文本创建一个文本视图,而不是将其放入视图中。

TextView tv = (TextView) findViewById(R.id.textView1);
tv.setText("Your text here");
Run Code Online (Sandbox Code Playgroud)