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开发入门文章

相关推荐
Upsy-Daisy2 分钟前
Hermes Agent 学习笔记 04:工具调用系统,让 Agent 从“会说”变成“会做”
java·笔记·学习
Volunteer Technology3 分钟前
SpringSecurity请求流转的本质
java·spring
心之伊始9 分钟前
Spring AI MCP Client 实战:让 Java 后端通过 stdio 调用本地工具服务
java·spring boot·agent·spring ai·mcp
plainGeekDev11 分钟前
文件读写(Java IO)→ Kotlin 扩展函数
android·java·kotlin
Full Stack Developme14 分钟前
AspectJ 详解
java·后端
武子康22 分钟前
Java-20 深入浅出 MyBatis - 手写ORM框架1 从原始 JDBC 暴露的 6 大问题开始
java·后端
qq_25183645734 分钟前
2026计算机毕设选题|3000套高质量SpringBoot实战项目(含完整源码)(每人一套不收米)
java·spring boot·课程设计
s_nshine37 分钟前
释放C盘,迁移studio相关数据到其他盘
android·windows·android studio·内存·c盘
设计师小聂!38 分钟前
Java异常处理
java·开发语言·后端·编辑器·idea
SimonKing40 分钟前
实用,DynamicTP进阶之数据采集与告警
java·后端·程序员