现通过B站搜索了AS初级视频“【天哥】Android开发视频教程最新版 Android Studio开发”学习AS(不是最新),今天对TextView进行了学习。
1、新建2个emptyActivity,分别命名为MainActivity和TextViewActivity;
2、activity_main.xml使用线性布局
(1)设置基本的宽度(layout_width)、高度(layout_heigh)、取向(orientation)等参数;
(2)放置1个新按钮Button,设置id(btn_textView)/layout_width/layout_heigh/text。
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 4 android:layout_width="match_parent" 5 android:layout_height="match_parent" 6 android:orientation="vertical"> 7 <Button 8 android:id="@+id/btn_textView" 9 android:layout_width="match_parent" 10 android:layout_height="100dp" 11 android:text="TextView"/> 12 13 </LinearLayout>
3、在MainActivity.java中声明Button(private Button mBtnTextView),并在onCreat()中通过findViewById连接控件
(1)通过setOnClickListener设置按钮点击事件;
(2)通过new Intent建立两个Activity的连接,并通过startActivity启动。
1 package com.example.helloandroid; 2 3 import android.os.Bundle; 4 import androidx.appcompat.app.AppCompatActivity; 5 import android.view.View; 6 import android.widget.Button; 7 import android.content.Intent; 8 import android.widget.TextView; 9 10 public class MainActivity extends AppCompatActivity { 11 private Button mBtnTextView; 12 @Override 13 protected void onCreate(Bundle savedInstanceState) { 14 super.onCreate(savedInstanceState); 15 setContentView(R.layout.activity_main); 16 mBtnTextView = findViewById(R.id.btn_textView); 17 mBtnTextView.setOnClickListener(new View.OnClickListener() { 18 @Override 19 public void onClick(View v) { 20 Intent intent = new Intent(MainActivity.this, TextViewActivity.class); 21 startActivity(intent); 22 } 23 }); 24 } 25 }
4、在activity_text_view.xml中使用线性布局
(1)设置必要的宽度(layout_width)、高度(layout_heigh)、取向(orientation)等参数后,建立TextView;
(2)"@string/"命名。在strings.xml中创建字符串变量并赋值,在activity_text_view.xml中可通过"@string/变量名"的方式直接使用以便于管理;
5、在TextViewActivity.java中通过setFlags对TextView设置下划线/中划线"。
6、设置跑马灯
(1)必要设置:在activity_text_view.xml与跑马灯相关的TextView中进行如下设置:
android:singleLine="true"//单行显示
android:ellipsize="marquee"//设置为跑马灯
android:marqueeRepeatLimit="-1"//循环次数
android:focusable="true"//键盘状态下获得焦点
android:focusableInTouchMode="true"//触屏状态下获得焦点
(2)在TextViewActivity.java声明建立与跑马灯相关的空间,并执行“.setSelected(true)”。(视频中未讲解,谢谢弹幕)
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical" 6 android:padding="24dp"> 7 <TextView 8 android:id="@+id/tv_1" 9 android:layout_width="wrap_content" 10 android:layout_height="wrap_content" 11 android:text="@string/text_view1" 12 android:textColor="#000000" 13 android:textSize="24sp"/> 14 <TextView 15 android:id="@+id/tv_2" 16 android:layout_width="50dp" 17 android:layout_height="wrap_content" 18 android:maxLines="1" 19 android:ellipsize="end" 20 android:text="@string/text_view2" 21 android:textColor="#000000" 22 android:textSize="24sp" 23 android:layout_marginTop="10dp"/> 24 <TextView 25 android:id="@+id/tv_3" 26 android:layout_width="wrap_content" 27 android:layout_height="wrap_content" 28 android:text="@string/text_view3" 29 android:textColor="#000000" 30 android:textSize="24sp"/> 31 <TextView 32 android:id="@+id/tv_4" 33 android:layout_width="wrap_content" 34 android:layout_height="wrap_content" 35 android:text="@string/text_view4" 36 android:textColor="#000000" 37 android:textSize="24sp"/> 38 <TextView 39 android:id="@+id/tv_5" 40 android:layout_width="wrap_content" 41 android:layout_height="wrap_content" 42 android:text="@string/text_view5" 43 android:textColor="#000000" 44 android:textSize="24sp"/> 45 <TextView 46 android:id="@+id/tv_6" 47 android:layout_width="wrap_content" 48 android:layout_height="wrap_content" 49 android:text="@string/text_view6" 50 android:singleLine="true" 51 android:ellipsize="marquee" 52 android:marqueeRepeatLimit="-1" 53 android:focusable="true" 54 android:focusableInTouchMode="true" 55 android:textColor="#000000" 56 android:textSize="24sp"/> 57 58 </LinearLayout>
1 package com.example.helloandroid; 2 3 import androidx.appcompat.app.AppCompatActivity; 4 import android.os.Bundle; 5 import android.text.Html; 6 import android.widget.TextView; 7 import android.graphics.Paint; 8 9 public class TextViewActivity extends AppCompatActivity { 10 private TextView mTv3;//声明 11 private TextView mTv4; 12 private TextView mTv5; 13 private TextView mTv6; 14 @Override 15 protected void onCreate(Bundle savedInstanceState) { 16 super.onCreate(savedInstanceState); 17 setContentView(R.layout.activity_text_view); 18 19 mTv3 = (TextView)findViewById(R.id.tv_3);//与控件进行连接 20 mTv3.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);//设置中划线 21 22 mTv4 = (TextView)findViewById(R.id.tv_4);//与控件进行连接 23 mTv4.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);//设置下划线 24 25 mTv5 = (TextView)findViewById(R.id.tv_5);//与控件进行连接 26 mTv5.setText(Html.fromHtml("<u>下划线</u>")); 27 28 mTv6 = (TextView)findViewById(R.id.tv_6);//与控件进行连接 29 mTv6.setSelected(true); 30 } 31 }
1 <resources> 2 <string name="app_name">HelloAndroid</string> 3 <string name="text_view1">HelloWorld</string> 4 <string name="text_view2">HelloAndroid</string> 5 <string name="text_view3">中划线</string> 6 <string name="text_view4">下划线</string> 7 <string name="text_view5">下划线</string> 8 <string name="text_view6">跑马灯跑马灯跑马灯跑马灯跑马灯跑马灯跑马灯跑马灯跑马灯跑马灯跑马灯跑马灯跑马灯跑马灯</string> 9 </resources>
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.example.helloandroid"> 4 5 <application 6 android:allowBackup="true" 7 android:icon="@mipmap/ic_launcher" 8 android:label="@string/app_name" 9 android:roundIcon="@mipmap/ic_launcher_round" 10 android:supportsRtl="true" 11 android:theme="@style/AppTheme"> 12 <activity android:name=".MainActivity"> 13 <intent-filter> 14 <action android:name="android.intent.action.MAIN" /> 15 16 <category android:name="android.intent.category.LAUNCHER" /> 17 </intent-filter> 18 </activity> 19 <activity android:name=".TextViewActivity"></activity> 20 </application> 21 22 </manifest>
7、模拟器显示:
*注:如果不想保留模拟器之前的App或希望每次从系统默认主界面运行程序,可将App删除或退出当前运行的程序。
1.AS(3.6.1) TextView(设置字的大小/颜色 按钮点击事件 下划线 跑马灯)
原文:https://www.cnblogs.com/programmeAdvance/p/12490256.html