Android Studio插件LayoutCreator在Activity/Fragment中自动生成findViewById等布局相关初始化代码 或者在Adapter中自动生成ViewHolder

前言:懂得珍惜方可拥有更多。

功能

可以让你在Activity/Fragment中自动生成findViewById等布局相关初始化代码
或者在Adapter中自动生成ViewHolder代码

如果你有任何新的需求或者想法意见,也可以在issue中提出~
安装

方式一. 下载项目中的jar包,通过本地disk方式导入
方式二. 在Android Studio的插件中心搜索LayoutCreator下载安装

用法

1、新建好Activity后自行编写onCreate并setContentView设置对应布局
2、选中layout布局,快捷键alt+Insert,然后选择LayoutCreator或者选中布局后在菜单栏中的Code中选择LayoutCreator
或者右键菜单中选择Generate - LayoutCreator
3、插件会自动遍历布局列出所有带id的控件,你可以在弹出的对话框中选择需要自动生成的控件
4、弹出的对话框中还可以勾选是否生成ViewHolder
5、选择好后Confirm确认即可

用法截图
这里写图片描述

代码生成规则

1、自动遍历目标布局中所有带id的文件, 无id的不会识别处理
2、控件生成的变量名默认为id名称, 可以在弹出确认框右侧的名称输入栏中自行修改
3、所有的Button或者带clickable=true的控件, 都会自动在代码中生成setOnClickListener相关代码
4、所有EditText控件, 都会在代码中生成非空判断代码, 如果为空会提示EditText的hint内容, 如果hint为空则提示xxx字符串不能为空字样, 最后会把所有输入框的验证合并到一个submit方法中
5、会自动识别布局中的include标签, 并读取对应布局中的控件

历史版本

1.0 初始化版本
1.1 添加了Fragment ViewHolder等支持
1.2 添加了EditText的验证代码生成, 详细见 代码生成规则4
1.3 优化了二次生成布局代码时重复问题
根据当前类中成员变量判断控件是否已经存在, 避免重复添加
1.4 添加了全选功能
添加了不同的变量命名方式可供选择(匈牙利、驼峰、m驼峰)


如果本文有帮到你,记得加关注哦。

初出茅庐,还望指教。
亲测可用,为了尊重原作者,原作链接:
https://github.com/boredream/BorePlugin

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio设计聊天界面可以使用多种方法,以下是其一种常见的方法: 1. 创建一个新的ActivityFragment用于显示聊天界面。 2. 在布局文件添加一个RecyclerView用于显示聊天消息列表。 3. 创建一个适配器(Adapter)用于将聊天消息数据绑定到RecyclerView上。 4. 在适配器创建一个ViewHolder用于显示每条聊天消息的布局。 5. 在聊天界面的布局文件添加一个输入框和发送按钮,用于用户输入和发送消息。 6. 在ActivityFragment处理用户输入和发送消息的逻辑,例如监听发送按钮的点击事件,获取用户输入的消息内容,并将其添加到聊天消息列表。 7. 可以使用数据库或其他方式保存聊天消息的数据,以便在界面初始化时加载历史消息,并在发送消息时保存新的消息数据。 以下是一个简单的示例代码: ```java // 聊天界面的ActivityFragment public class ChatActivity extends AppCompatActivity { private RecyclerView recyclerView; private EditText inputEditText; private Button sendButton; private ChatAdapter chatAdapter; private List<String> chatMessages; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_chat); recyclerView = findViewById(R.id.recyclerView); inputEditText = findViewById(R.id.inputEditText); sendButton = findViewById(R.id.sendButton); chatMessages = new ArrayList<>(); chatAdapter = new ChatAdapter(chatMessages); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setAdapter(chatAdapter); sendButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String message = inputEditText.getText().toString(); if (!TextUtils.isEmpty(message)) { chatMessages.add(message); chatAdapter.notifyDataSetChanged(); inputEditText.setText(""); } } }); } } // 聊天消息的适配器 public class ChatAdapter extends RecyclerView.Adapter<ChatAdapter.ViewHolder> { private List<String> chatMessages; public ChatAdapter(List<String> chatMessages) { this.chatMessages = chatMessages; } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_chat_message, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { String message = chatMessages.get(position); holder.messageTextView.setText(message); } @Override public int getItemCount() { return chatMessages.size(); } public class ViewHolder extends RecyclerView.ViewHolder { TextView messageTextView; public ViewHolder(@NonNull View itemView) { super(itemView); messageTextView = itemView.findViewById(R.id.messageTextView); } } } ``` 请注意,上述代码仅为示例,实际的聊天界面设计可能需要更多的功能和布局。你可以根据自己的需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值