【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中Dialog的使用详解

《Android中Dialog的使用详解》Dialog(对话框)是Android中常用的UI组件,用于临时显示重要信息或获取用户输入,本文给大家介绍Android中Dialog的使用,感兴趣的朋友一起... 目录android中Dialog的使用详解1. 基本Dialog类型1.1 AlertDialog(

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

电脑提示找不到openal32.dll文件怎么办? openal32.dll丢失完美修复方法

《电脑提示找不到openal32.dll文件怎么办?openal32.dll丢失完美修复方法》openal32.dll是一种重要的系统文件,当它丢失时,会给我们的电脑带来很大的困扰,很多人都曾经遇到... 在使用电脑过程中,我们常常会遇到一些.dll文件丢失的问题,而openal32.dll的丢失是其中比较

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

电脑开机提示krpt.dll丢失怎么解决? krpt.dll文件缺失的多种解决办法

《电脑开机提示krpt.dll丢失怎么解决?krpt.dll文件缺失的多种解决办法》krpt.dll是Windows操作系统中的一个动态链接库文件,它对于系统的正常运行起着重要的作用,本文将详细介绍... 在使用 Windows 操作系统的过程中,用户有时会遇到各种错误提示,其中“找不到 krpt.dll”

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D