Android开发基础(学习笔记)2:简单控件与项目

我是菜鸟,刚刚开始学习!如果有不对的,请大佬说明,我虚心学习

简单控件介绍

1. 文本显示

在Android开发中,文本显示是一项基本的功能。我们可以通过文本视图控件来实现。

在XML文件中设置文本:

xml 复制代码
<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello, Android!"
    android:textSize="18sp"
    android:textColor="#000000" />

在Java代码中设置文本:

java 复制代码
TextView textView = findViewById(R.id.textView);
textView.setText("Hello, Android!");
textView.setTextSize(18);
textView.setTextColor(Color.BLACK);

引用字符串资源:

在XML文件中引用:

xml 复制代码
<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_text" />

在Java代码中引用:

java 复制代码
TextView textView = findViewById(R.id.textView);
textView.setText(getString(R.string.hello_text));

2. 设置文本的大小与颜色

设置文本大小:

在Java代码中:

java 复制代码
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);

在XML文件中:

xml 复制代码
<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello, Android!"
    android:textSize="18sp" />

设置文本颜色:

在Java代码中:

java 复制代码
textView.setTextColor(Color.RED);

在XML文件中:

xml 复制代码
<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello, Android!"
    android:textColor="#FF0000" />

3. 设置视图的宽高与间距

设置视图宽高:

在Java代码中:

java 复制代码
View view = findViewById(R.id.view);
ViewGroup.LayoutParams layoutParams = view.getLayoutParams();
layoutParams.width = 200; // in pixels
layoutParams.height = ViewGroup.LayoutParams.WRAP_CONTENT; // or MATCH_PARENT
view.setLayoutParams(layoutParams);

在XML文件中:

xml 复制代码
<View
    android:id="@+id/view"
    android:layout_width="200dp"
    android:layout_height="wrap_content" />

设置视图间距:

使用layout_marginpadding属性。

xml 复制代码
<View
    android:id="@+id/view"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:layout_margin="16dp"
    android:padding="8dp" />

4. 设置视图的对齐方式

使用layout_gravitygravity属性:

xml 复制代码
<View
    android:id="@+id/view"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:layout_gravity="center"
    android:gravity="center" />

常用布局

1. 线性布局(LinearLayout)

基本用法:

xml 复制代码
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <!-- Child views go here -->

</LinearLayout>

2. 相对布局(RelativeLayout)

基本用法:

xml 复制代码
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- Child views go here with layout parameters -->

</RelativeLayout>

相对位置属性:

xml 复制代码
<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@+id/otherView"
    android:layout_below="@+id/someView"
    <!-- Other attributes -->
    />

3. 网格布局(GridLayout)

基本用法:

xml 复制代码
<GridLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:columnCount="4"
    android:rowCount="5">

    <!-- Child views go here with layout parameters -->

</GridLayout>

实战项目:简易计算器

1. 整体布局:

xml 复制代码
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <!-- Result display -->
    <TextView
        android:id="@+id/resultTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:gravity="end"
        android:text="0"
        android:textSize="24sp" />

    <!-- Calculator buttons -->
    <GridLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:columnCount="4"
        android:rowCount="5">

        <!-- Buttons go here with layout parameters -->

    </GridLayout>

</LinearLayout>

2. 按钮布局:

xml 复制代码
<Button
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="1" />

3. 点击事件处理:

java 复制代码
Button button = findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // Handle button click
    }
});

4. 计算逻辑处理:

java 复制代码
public class CalculatorActivity extends AppCompatActivity {

    private TextView resultTextView;
    private String currentInput = "";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_calculator);

        resultTextView = findViewById(R.id.resultTextView);

        // Set onClickListener for each button
        setButtonClickListeners();
    }

    private void setButtonClickListeners() {
        // Handle button clicks
    }

    private void handleButtonClick(String buttonValue) {
        // Handle the logic when a button is clicked
    }

    private void updateDisplay() {
        // Update the display with the current input
        resultTextView.setText(currentInput);
    }
}

以上是一个简单的Android开发入门文章

相关推荐
琪阿不会编程4 分钟前
Mysql8 忘记密码重置,以及问题解决
android·数据库·sql·mysql
蓝桉~MLGT7 分钟前
java高级——高阶函数、如何定义一个函数式接口类似stream流的filter
java·开发语言·python
CYRUS_STUDIO13 分钟前
一文搞懂 SO 脱壳全流程:识别加壳、Frida Dump、原理深入解析
android·安全·逆向
移动开发者1号36 分钟前
Activity onCreate解析
android·kotlin
甜甜的资料库38 分钟前
基于微信小程序的作业管理系统源码数据库文档
java·数据库·微信小程序·小程序
帅得不敢出门4 小时前
Android Framework预装traceroute执行文件到system/bin下
android
xzkyd outpaper4 小时前
从面试角度回答Android中ContentProvider启动原理
android·面试·计算机八股
编程乐学4 小时前
基于Android 开发完成的购物商城App--前后端分离项目
android·android studio·springboot·前后端分离·大作业·购物商城
有梦想的骇客6 小时前
书籍“之“字形打印矩阵(8)0609
java·算法·矩阵
yours_Gabriel7 小时前
【java面试】微服务篇
java·微服务·中间件·面试·kafka·rabbitmq