上一篇
如何实现Android九宫格布局的源码解析?
- 行业动态
- 2024-10-05
- 2
Android九宫格的源码可以通过GitHub上的开源项目找到,https://github.com/AnderMoCan/LockPatternView。
九宫格是一种常见的布局方式,通常用于实现数字键盘、字母键盘等,在Android中,可以使用TableLayout和TableRow来实现九宫格布局,以下是一个简单的九宫格源码示例:
1、在res/layout目录下创建一个名为grid_keyboard.xml的布局文件,内容如下:
<?xml version="1.0" encoding="utf8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="*"> <TableRow> <Button android:id="@+id/button1" android:layout_width="0dp" android:layout_height="wrap_content" android:text="1" /> <Button android:id="@+id/button2" android:layout_width="0dp" android:layout_height="wrap_content" android:text="2" /> <Button android:id="@+id/button3" android:layout_width="0dp" android:layout_height="wrap_content" android:text="3" /> </TableRow> <TableRow> <Button android:id="@+id/button4" android:layout_width="0dp" android:layout_height="wrap_content" android:text="4" /> <Button android:id="@+id/button5" android:layout_width="0dp" android:layout_height="wrap_content" android:text="5" /> <Button android:id="@+id/button6" android:layout_width="0dp" android:layout_height="wrap_content" android:text="6" /> </TableRow> <TableRow> <Button android:id="@+id/button7" android:layout_width="0dp" android:layout_height="wrap_content" android:text="7" /> <Button android:id="@+id/button8" android:layout_width="0dp" android:layout_height="wrap_content" android:text="8" /> <Button android:id="@+id/button9" android:layout_width="0dp" android:layout_height="wrap_content" android:text="9" /> </TableRow> </TableLayout>
2、在res/values目录下创建一个名为strings.xml的文件(如果还没有的话),并添加以下内容:
<resources> <string name="app_name">九宫格示例</string> </resources>
3、在src/main/java目录下创建一个名为MainActivity.java的文件,内容如下:
package com.example.gridkeyboard; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button mButton1, mButton2, mButton3, mButton4, mButton5, mButton6, mButton7, mButton8, mButton9; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.grid_keyboard); mButton1 = findViewById(R.id.button1); mButton2 = findViewById(R.id.button2); mButton3 = findViewById(R.id.button3); mButton4 = findViewById(R.id.button4); mButton5 = findViewById(R.id.button5); mButton6 = findViewById(R.id.button6); mButton7 = findViewById(R.id.button7); mButton8 = findViewById(R.id.button8); mButton9 = findViewById(R.id.button9); mButton1.setOnClickListener(this); mButton2.setOnClickListener(this); mButton3.setOnClickListener(this); mButton4.setOnClickListener(this); mButton5.setOnClickListener(this); mButton6.setOnClickListener(this); mButton7.setOnClickListener(this); mButton8.setOnClickListener(this); mButton9.setOnClickListener(this); } @Override public void onClick(View v) { int id = v.getId(); String buttonText = ""; switch (id) { case R.id.button1: buttonText = "1"; break; case R.id.button2: buttonText = "2"; break; case R.id.button3: buttonText = "3"; break; case R.id.button4: buttonText = "4"; break; case R.id.button5: buttonText = "5"; break; case R.id.button6: buttonText = "6"; break; case R.id.button7: buttonText = "7"; break; case R.id.button8: buttonText = "8"; break; case R.id.button9: buttonText = "9"; break; } Toast.makeText(this, "点击了:" + buttonText, Toast.LENGTH_SHORT).show(); } }
你可以运行这个示例项目,看到一个包含九个按钮的九宫格布局,点击每个按钮时,会弹出一个提示框显示所点击的按钮对应的数字。
小伙伴们,上文介绍了“android 九宫格 源码”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/12035.html