Android文本與視圖基本操作梳理介紹
目錄文件說明
mainifests子目錄:下面的AndroidMainifest.xml文件是APP的運行配置文件。
java子目錄:下面有三個com.example.myapp包,第一個包存放當前模塊的java源代碼,后面兩個包存放測試用的java代碼。
res子目錄:存放當前模塊的資源文件,有四個子目錄:
- drawable目錄存放圖形描述文件與圖片文件
- layout目錄存放app頁面的布局文件
- mipmap存放app的啟動圖標
- values存放一些常量定義文件,如字符串常量string.xml等。

一、設置文本內容
有兩種方式:在XML文件中設置和在java類中調用settext方法。
在XML文件中通過屬性android:text設置
1、在layout文件下新建一個xml文件


新建后會有以下默認內容:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
</LinearLayout>2、配置XML文件設置文本
在LinearLayout標簽里添加以下內容;
text標簽里不寫具體的內容是因為:
情況:多個文件都用了相同的內容,但是需要修改此內容,那么就需要修改多個文件,而把內容寫在string文件里,則只需要修改string文件的內容。
<TextView
android:id="@+id/tv_hello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello"/> //調用string文件里name為hello的文本3、string文件內容
<resources>
<string name="app_name">test</string>
<string name="hello">你好</string>
</resources>
4、java類調用
新建Java類,繼承AppComatActivity類,并重寫onCreate方法
public class TextViewActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_text_view);
}
}在java代碼中調用文本視圖對象的setText方法設置文本
與前面不同的是不需要在xml文件中寫text標簽,需要在java類中創(chuàng)建對象并調用setText方法。
public class TextViewActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_text_view);
TextView tv_hello = findViewById(R.id.tv_hello);
tv_hello.setText(R.string.hello);// 調用setText方法設置文本
}
} 二、設置文本的大小
px:是手機屏幕的最小顯示單位,與設備的顯示屏有關。
dp/dip:是與設備無關的顯示單位,只與屏幕的尺寸有關,相同尺寸手機,即使分辨率不同,同dp組件占用屏幕比例也相同,如果屏幕尺寸差異過大,需要做dp適配。
sp:專門用來設置字體大小,在系統(tǒng)設置中可以調整字體大小,跟隨系統(tǒng)字體設置而變化。
在java代碼中調用setTextSize方法
新建XML文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_hello"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello" />
</LinearLayout>新建java類
public class TextSizeActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_text_size);
TextView tv_px = findViewById(R.id.tv_hello);
tv_px.setTextSize(30);//這里不用指定單位,默認為sp,所以官方推薦字體設置單位是sp
}在XML文件中通過屬性android:textSize指定 XML文件
android:textSize="30px"/>
java類
public class TextSizeActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_text_size);
}
}三、設置文本顏色
在java代碼中調用setTextColor方法設置文本顏色
具體色值可從Color獲取

XML文件
<TextView
android:id="@+id/tv_code_system"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="設置系統(tǒng)自帶顏色"
android:textSize="17sp"/>java類
public class TextColorActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_text_color);
//布局文件中獲取文本視圖
TextView tv_code_system = findViewById(R.id.tv_code_system);
//設置文本顏色
tv_code_system.setTextColor(Color.GREEN);
}四、設置視圖的寬高
視圖寬度通過屬性android:layout_width表達,高度通過android:layout_height
寬高的取值主要有下列三種:
- match_parent:表示與上級視圖保持一致
- wrap_content:表示與內容自適應
- 以dp為單位的具體尺寸
例:
//上面的
android:layout_width="wrap_content"
android:layout_height="wrap_content"
//下面的
android:layout_width="match_parent"
android:layout_height="wrap_content"
五、設置視圖的間距
有兩種方式:采用layout_margin屬性、padding屬性
1、layout_margin
指定了當前視圖與周圍平級視圖之間的距離,即外邊距,包括:layout_margin、layout_marginLeft、layout_marginTop、layout_marginRight、layout_marginBottom
2、padding
指定當前視圖與內部下級視圖之間的距離,即內邊距,包括:padding、paddingLeft、paddingTop、paddingRight、paddingBottom
例:
View標簽在LinearLayout內,所以為其下級視圖
<!-- 中間層的布局背景為黃色-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="20dp"http://外邊距20dp
android:background="#FFFF99"
android:padding="60dp">//內邊距60dp
<!-- 最內層的視圖背景為紅色-->
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF0000"/>
</LinearLayout>
六、設置視圖的對齊方式
有兩種方式:采用layout_gravity屬性、采用gravity屬性;
取值包括:left、top、right、bottom,可以用豎線連接各取值,如:left|top表示朝左上角對齊。
1、layout_gravity
指定當前視圖相對于上級視圖的對齊方式。
2、gravity
指定下級視圖相對于當前視圖的對齊方式。
例:
<!--第一個子布局背景為紅色,它在上級視圖中朝下對齊,下級視圖靠左對齊-->
<LinearLayout
android:layout_width="0dp"
android:layout_height="200dp"
android:layout_weight="1"
android:layout_margin="10dp"
android:padding="10dp"
android:background="#ff0000"
android:layout_gravity="bottom"
android:gravity="left">
<!-- 內部視圖-->
<View
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#00ffff"/>
</LinearLayout>
<!--第二個子布局背景為紅色,它在上級視圖中朝上對齊,下級視圖靠右對齊-->
<LinearLayout
android:layout_width="0dp"
android:layout_height="200dp"
android:layout_weight="1"
android:layout_margin="10dp"
android:padding="10dp"
android:background="#ff0000"
android:layout_gravity="top">
<View
android:layout_width="100dp"
android:layout_height="100dp"
android:background="#00ffff"
android:gravity="right"/>
</LinearLayout>
到此這篇關于Android文本與視圖基本操作梳理介紹的文章就介紹到這了,更多相關Android文本與視圖內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
淺談 Android 7.0 多窗口分屏模式的實現(xiàn)
這篇文章主要介紹了淺談 Android 7.0 多窗口分屏模式的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03
AndroidStudio代碼達到指定字符長度時自動換行實例
這篇文章主要介紹了AndroidStudio代碼達到指定字符長度時自動換行實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
android 中ProgressDialog實現(xiàn)全屏效果的示例
本篇文章主要介紹了android 中ProgressDialog實現(xiàn)全屏效果的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11
android中GridView實現(xiàn)點擊查看更多功能示例
本篇文章主要介紹了android中GridView實現(xiàn)點擊查看更多功能示例,非常具有實用價值,需要的朋友可以參考下。2017-02-02
Convert WebP to PNG using java
本文主要介紹Convert WebP to PNG using java,這里對 WebP 做了詳細說明,并講解Linux 環(huán)境下WebP 轉png格式的示例,有興趣的小伙伴可以參考下2016-08-08

