TextView
用一个和一个创建一个新的应用程序Button
。build.gradle
您的应用项目的文件。验证Android支持存储库是否可用
Android 支持库作为 Android SDK 的一部分下载,可在 Android SDK 管理器中使用。在 Android Studio 中,您将使用 Android Support Repository(支持库的本地存储库)来从 Gradle 构建文件中访问这些库。
这里发现已经和课程不一样了
谷歌一下
因为Androidx已经放弃使用support包了。
下载也被一并砍掉了。啊这
罢了,我直接跳过
设置项目并检查构建
那我就16了
探索构建
build.gradle
对于整个项目 ( build.gradle (Project: helpcompat)
) 与 app 模块的文件不同build.gradle
。在build.gradle (Module: app)
文件中。
compileSdkVersion 26
编译版本是您的应用在 Android Studio 中编译时使用的 Android 框架版本。对于新项目,编译版本是您安装的最新框架 API 集。如果您使用较旧或较新的 API,此值仅影响Android Studio 本身以及您在 Android Studio 中收到的警告或错误。
minSdkVersion 15
最低版本是您的应用运行时使用的最旧的 Android API 版本。它与您在创建项目时在步骤 1 中选择的数字相同。Google Play 商店使用此编号来确保您的应用可以在给定用户的设备上运行。Android Studio 也使用这个数字来警告您使用已弃用的 API。
targetSdkVersion 26
目标版本表示您的应用程序设计和测试的 API 版本。如果 Android 平台的 API 高于此数字(即您的应用在较新的设备上运行),该平台可能会启用兼容性行为以确保您的应用继续按照设计的方式运行。例如,Android 6.0 (API 23) 提供了一个新的运行时权限模型。如果您的应用程序以较低的 API 级别为目标,则平台会回退到较旧的安装时权限模型。
尽管目标 SDK 可以与编译 SDK 的编号相同,但它通常是一个较小的数字,表示您测试过您的应用程序的 API 的最新版本。
dependencies:
其实已经没用support了
更改布局和颜色
设置颜色
<resources>
<color name="purple_200">#FFBB86FCcolor>
<color name="purple_500">#FF6200EEcolor>
<color name="purple_700">#FF3700B3color>
<color name="teal_200">#FF03DAC5color>
<color name="teal_700">#FF018786color>
<color name="black">#FF000000color>
<color name="white">#FFFFFFFFcolor>
<color name="red">#F44336color>
<color name="pink">#E91E63color>
<color name="purple">#9C27B0color>
<color name="deep_purple">#673AB7color>
<color name="indigo">#3F51B5color>
<color name="blue">#2196F3color>
<color name="light_blue">#03A9F4color>
<color name="cyan">#00BCD4color>
<color name="teal">#009688color>
<color name="green">#4CAF50color>
<color name="light_green">#8BC34Acolor>
<color name="lime">#CDDC39color>
<color name="yellow">#FFEB3Bcolor>
<color name="amber">#FFC107color>
<color name="orange">#FF9800color>
<color name="deep_orange">#FF5722color>
<color name="brown">#795548color>
<color name="grey">#9E9E9Ecolor>
<color name="blue_grey">#607D8Bcolor>
resources>
布局
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/hello_textview"
android:textStyle="bold"
android:textAlignment="center"
android:textSize="100sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:layout_marginTop="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:onClick="changeColor"
android:id="@+id/color_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Change Color"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent" />
androidx.constraintlayout.widget.ConstraintLayout>
MainActivity添加行为
package com.dingjiaxiong.hellocompat;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView mHelloTextView;
private String[] mColorArray = {"red", "pink", "purple", "deep_purple",
"indigo", "blue", "light_blue", "cyan", "teal", "green",
"light_green", "lime", "yellow", "amber", "orange", "deep_orange",
"brown", "grey", "blue_grey", "black" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mHelloTextView = findViewById(R.id.hello_textview);
if (savedInstanceState != null) {
mHelloTextView.setTextColor(savedInstanceState.getInt("color"));
}
}
@Override
protected void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("color", mHelloTextView.getCurrentTextColor());
}
public void changeColor(View view) {
}
}
添加changeButton( ) 点击处理程序
实现点击事件
public void changeColor(View view) {
Random random = new Random();
String colorName = mColorArray[random.nextInt(20)];
int colorResourceName = getResources().getIdentifier(colorName, "color", getApplicationContext().getPackageName());
int colorRes = ContextCompat.getColor(this, colorResourceName);
mHelloTextView.setTextColor(colorRes);
}
运行
安装 Android 支持库:
Android 使用三个指令来指示您的应用在不同 API 版本下的行为方式:
minSdkVersion
:您的应用支持的最低 API 版本。compileSdkVersion
:您的应用程序应使用的 API 版本进行编译。targetSdkVersion
:您的应用程序设计的 API 版本。要管理项目中的依赖项:
dependencies
。该类ContextCompat
提供了与新旧 API 级别的上下文和资源相关方法兼容的方法。