文本框视图(TextView)
形同 MFC 里面的 Static Text,继承于 android.view.View,属于 android.widget.TextView 包,同时是 Button、CheckedTextView、Chronometer、DigitaClock 以及 EditText 父类。继承关系如下:
java.lang.Object;
android.view.View;
android.widget.TextView;
TextView 类方法
TextView 布局
TextView 示例
完整工程:http://download.youkuaiyun.com/detail/sweetloveft/9104441
下述代码作用是:显示布局上的 TextView 控件,然后把显示的内容修改为“Welcome to Android”。
重点要求掌握:
1.继承过程中的构造调用次序:在 onCreate 中,先调用父类的 super.onCreate,再执行自定义代码;
2.Activity 的方法 setContentView 用于把 xml 布局文件里的界面设置到显示界面上,注意布局文件需要在代码编辑区随意改动再保存一下,不然看不到显示,此外 R.layout.activity_layout 需要 import com.sweetlover.textviewdemo.R;
3.别忘了在 AndroidManifest.xml 里面加上 Activity,以及 android.intend.category.LAUCHER、android.intend.action.MAIN。
1.MainActivity.java
package com.sweetlover.textview;
import com.sweetlover.textviewdemo.R;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_layout);
String str = "Welcome to android!";
TextView textView = (TextView)findViewById(R.id.textView1);
textView.setText(str);
}
}
2.activity_layout.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" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, world!" />
</LinearLayout>
3.AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sweetlover.textviewdemo"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity android:name="com.sweetlover.textview.MainActivity">
<intent-filter>
<category android:name="android.intent.category.LAUNCHER"/>
<action android:name="android.intent.action.MAIN"/>
</intent-filter>
</activity>
</application>
</manifest>
Android 程序安装后无图标的原因
1.AndroidManifest 中 Application 元素属性设置错误
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
</application>
设置为 ic_launcher 但是 icon 资源不存在!
2.AndroidManifest 中没有 Activity 设置
<activity
android:name="com.sweetlover.activity.CameraActivity"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:screenOrientation="portrait"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
缺少 activity 中 intent-filter 的那一部分!
3.main intend-filter 同时配置了不同种类的 action 和 data
<activity android:name=".AccountManageActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<data android:scheme="aone" android:host="AccountManageActivity" />
</intent-filter>
</activity>
解决办法,拆成 2 个:
<activity android:name=".AccountManageActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<data android:scheme="aone" android:host="AccountManageActivity" />
</intent-filter>
</activity>