对页面的逻辑操作
举例:
不加activity代码运行
1.通过activity代码修改以后(普通写法)
activity核心代码
//怎么修改TextView的值? 1.要先拿到对象的引用 通过findviewbyid
TextView textView=findViewById(R.id.text);
textView.setText("今天也要加油鸭!");//修改文本内容
textView.setTextSize(24);//修改文本字体大小
textView.setTextColor(getResources().getColor(R.color.colorAccent));//修改文本颜色
对图片进行设置
核心代码
ImageView imageView=findViewById(R.id.imageView);
imageView.setImageDrawable(getResources().getDrawable(R.drawable.rose));
2.这里介绍一种新写法,是自从as3.6版本以后出现的新技术
1.首先在build.gradle(app)里面加一句
viewBinding{
enabled=true
}
然后activity的java代码可以这样写(效果一样)
核心代码
ActivityMainBinding binding=ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
binding.textView.setText("今天也要加油鸭");
binding.textView.setTextColor(getResources().getColor(R.color.colorAccent));
binding.textView.setTextSize(24);
点击事件代码讲解(上面是重写onClick方法,下面是采用匿名内部类 效果一样)
三种触发事件方式
方法一 System.out.println(“打印内容”);
方法二 Log.i(“标签名字”,“打印内容”);(括号内灰色部分不用写,会自动生成)
方法三(应用内打印)
activity核心代码
Button button=findViewById(R.id.button);
// button.setOnLongClickListener();//长按触发事件
// button.setOnTouchListener();//滑动触发事件
// button.setOnClickListener()//点击触发事件
//为什么这里可以new一个接口
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// System.out.println("点击了一次");
// Log.i("onclick","点击了一次");
Toast.makeText(MainActivity.this,"点击了一次",Toast.LENGTH_LONG).show();
}
});
核心代码
final EditText editText=findViewById(R.id.editText);
Toast.makeText(MainActivity.this,"点击了一次"+editText.getText().toString(),Toast.LENGTH_LONG).show();
activity代码
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button=findViewById(R.id.button2);
final EditText editText=findViewById(R.id.editText3);
final EditText editText2=findViewById(R.id.editText4);
final TextView textView=findViewById(R.id.textView3);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int num1= Integer.parseInt(editText.getText().toString());
int num2= Integer.parseInt(editText2.getText().toString());
textView.setText((num1+num2)+"");
}
});
}
}
为什么要加final----因为在一个匿名内部类方法要引用方法外面的变量,需要加final
xml代码
<?xml version="1.0" encoding="utf-8"?>
<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">
<EditText
android:id="@+id/editText3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginLeft="20dp"
android:layout_marginTop="49dp"
android:layout_marginEnd="19dp"
android:layout_marginRight="19dp"
android:ems="10"
android:inputType="textPersonName"
app:layout_constraintEnd_toStartOf="@+id/editText4"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginLeft="20dp"
android:layout_marginEnd="20dp"
android:layout_marginRight="20dp"
android:text="+"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="@+id/editText4"
app:layout_constraintEnd_toStartOf="@+id/editText4"
app:layout_constraintStart_toEndOf="@+id/editText3"
app:layout_constraintTop_toTopOf="@+id/editText4" />
<EditText
android:id="@+id/editText4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="212dp"
android:layout_marginRight="212dp"
android:ems="10"
android:inputType="textPersonName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/editText3"
app:layout_constraintTop_toTopOf="@+id/editText3" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginLeft="10dp"
android:text="="
app:layout_constraintStart_toEndOf="@+id/editText4"
app:layout_constraintTop_toTopOf="@+id/editText4" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginLeft="10dp"
android:layout_marginBottom="9dp"
android:text="0"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="@+id/button2"
app:layout_constraintStart_toEndOf="@+id/button2" />
</androidx.constraintlayout.widget.ConstraintLayout>
本讲的内容就是这些啦,谢谢您的阅读,下一讲主要讲activity之间的跳转,(这个很重要哦),期待您的再次光顾。
本文地址:https://blog.csdn.net/qq_46526828/article/details/107272313
如对本文有疑问, 点击进行留言回复!!
Xamarin 安卓 相机 各种坑 目标API Android 6以后,我选的目标API版本是 Android 10
Android 9.0+软件某些功能突然暴毙:cleartext not permitted
Android : Resource is not a Drawable (color or path)
Flutter问题集锦——Android Studio 4.0.1 在AVD Manger中启动模拟器报“unable to locate abd”
网友评论