【android】其他布局、复选控件以及怎么都找不到R文件,原地爆炸

2023-10-22 12:30

本文主要是介绍【android】其他布局、复选控件以及怎么都找不到R文件,原地爆炸,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

 

相对布局

RalativeLayout

通过一大堆相对位置的属性控制,可以显示在四面八方。

框架布局FrameLayout

下级视图无法制定位置,只能由上级左上角开始添加,且后添加的子视图会覆盖之前的子视图(适用于绘图、游戏界面)

复选框CheckBox

点击勾选,再次点击取消勾选

CompundButton一个抽象类,派生出了CheckBox,RadioButton,Switch等

也是在java里写一个监听器

 1 public class Main2Activity extends AppCompatActivity {
 2 
 3     public static final  String TAG="Main2Activity";
 4     @Override
 5     protected void onCreate(Bundle savedInstanceState) {
 6         super.onCreate(savedInstanceState);
 7         setContentView(R.layout.activity_main2);
 8         CheckBox ck=findViewById(R.id.ck);
 9         ck.setOnCheckedChangeListener(new ChickListener());
10     }
11     private class ChickListener implements CompoundButton.OnCheckedChangeListener
12     {
13         @Override
14         public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
15         {
16             String desc=String.format("您勾选了控件%d,状态为%b",buttonView.getId(),isChecked);
17             Toast.makeText(Main2Activity.this,desc,Toast.LENGTH_SHORT).show();
18         }
19     }
20 }
View Code

然后点击后显示

为什么是一个数字呢?

然后我发现在

String desc=String.format("您勾选了控件%d,状态为%b",buttonView.getId(),isChecked);
是%d,int整型???
以及系统提示我

 

然后我在写CheckBox时使用android id="@string/ck"而不是android id="@+id/ck"
然后我又被报错,

直接改成String还是不行,然后看了findViewById的定义发现变量要是int!!!

所以就不知道在使用@String的情况下findViewById要怎么写呢??(有人会吗?

然后我就想着去R里看一看————————找了半小时,试了百度的各种方法,新建了好几次项目,,,我就是找不到R!!!

原地爆炸!

 练习作品:精美自制图标

在res/drawable里添加PNG图片check_choose.png和check_unchoose.png,

新建文件checkbox_style.xml

内容:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/check_choose" android:state_checked="true"/>
5 <item android:drawable="@drawable/check_unchoose" android:state_checked="false"/>
8 <item android:drawable="@drawable/check_choose"/>
</selector>

 

在values/style.xml里加入代码

<style name="CustomCheckBoxTheme" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/checkbox_style</item>
</style>
最后在checkbox里设置style:
style="@style/CustomCheckBoxTheme"
完成!!

—— END ——

 

 

转载于:https://www.cnblogs.com/CCRNRT/p/10317366.html

这篇关于【android】其他布局、复选控件以及怎么都找不到R文件,原地爆炸的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/261454

相关文章

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

MySql死锁怎么排查的方法实现

《MySql死锁怎么排查的方法实现》本文主要介绍了MySql死锁怎么排查的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言一、死锁排查方法1. 查看死锁日志方法 1:启用死锁日志输出方法 2:检查 mysql 错误

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

C#实现WinForm控件焦点的获取与失去

《C#实现WinForm控件焦点的获取与失去》在一个数据输入表单中,当用户从一个文本框切换到另一个文本框时,需要准确地判断焦点的转移,以便进行数据验证、提示信息显示等操作,本文将探讨Winform控件... 目录前言获取焦点改变TabIndex属性值调用Focus方法失去焦点总结最后前言在一个数据输入表单