设置SetPadding无效。

本文解决了在Android开发中遇到的问题:TextView的内边距(setPadding)无法生效的情况。指出了解决方案:需要确保在调用 setBackgroundResource 方法之后再调用 setPadding 方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://stackoverflow.com/questions/18327498/setting-padding-for-textview-not-working


setPadding();这个方法要在

setBackgroundResource后调用,才能起作用。

/// <DiagnosticSendFunction> export DIAG_TesterPresent(char Addressing,byte ZeroSubFunction)//Service 3E //**************************************************************************************** // Function name : DIAG_TesterPresent() // ------------------------------------------------------------------------------------ // Description : send diag request to keep alive by 3Eservice // ------------------------------------------------------------------------------------ // Parameter : Addressing [in] the request address // : ZeroSubFunction [in] the subfunction // ------------------------------------------------------------------------------------ // Returncode : None //**************************************************************************************** { if(ZeroSubFunction==0x00) { if(Addressing==g_Physical) { SendMessage_ControlCANFD(PysDiagReq_CM.id,0x02,0x3E,ZeroSubFunction,g_SetPadding,g_SetPadding,g_SetPadding,g_SetPadding,g_SetPadding); } else if(Addressing==g_Functional) { SendMessage_ControlCANFD(FuncDiagReq_CM.id,0x02,0x3E,ZeroSubFunction,g_SetPadding,g_SetPadding,g_SetPadding,g_SetPadding,g_SetPadding); } CheckDiagResp_8Byte(1500,0x02,0x7E,ZeroSubFunction,g_ECUPadding,g_ECUPadding,g_ECUPadding,g_ECUPadding,g_ECUPadding); } if(ZeroSubFunction==0x80) { if(Addressing==g_Physical) { SendMessage_ControlCANFD(PysDiagReq_CM.id,0x02,0x3E,ZeroSubFunction,g_SetPadding,g_SetPadding,g_SetPadding,g_SetPadding,g_SetPadding); } else if(Addressing==g_Functional) { SendMessage_ControlCANFD(FuncDiagReq_CM.id,0x02,0x3E,ZeroSubFunction,g_SetPadding,g_SetPadding,g_SetPadding,g_SetPadding,g_SetPadding); } CheckDiag_NoResponse(500); } }解释这段代码意思(CAPL语言代码)
最新发布
06-19
### 使用 `RecyclerView.setPadding` 方法 在 Android 中,`RecyclerView.setPadding(int left, int top, int right, int bottom)` 方法用于设置视图四周的内边距。这可以影响到整个 `RecyclerView` 的外观以及其内部项的位置。 #### 设置 Padding 示例 下面是一个简单的例子来展示如何使用此方法: ```java // 获取 RecyclerView 实例并为其设定 padding RecyclerView recyclerView = findViewById(R.id.rv_type2); recyclerView.setPadding(16, 32, 16, 8); // 单位为像素(px),参数依次代表左、上、右、下方向上的填充量 ``` 当设置了这些值之后,在屏幕渲染时,`RecyclerView` 将会在指定的方向留出相应的空间[^1]。 对于那些希望以 dp 或者其他单位而不是 px 来定义尺寸的应用开发者来说,应该先将所需的单位转换成像素后再调用该函数。这里有一个辅助函数可以帮助完成这个过程: ```java public static int dpToPx(Context context, float dpValue){ final float scale = context.getResources().getDisplayMetrics().density; return (int)(dpValue * scale + 0.5f); } ``` 因此,如果想要更灵活地控制不同设备分辨率下的表现形式,则可如下操作: ```java Context context = getApplicationContext(); RecyclerView recyclerView = findViewById(R.id.rv_type2); int leftPaddingDp = 16; int topPaddingDp = 32; int rightPaddingDp = 16; int bottomPaddingDp = 8; recyclerView.setPadding( dpToPx(context, leftPaddingDp), dpToPx(context, topPaddingDp), dpToPx(context, rightPaddingDp), dpToPx(context, bottomPaddingDp)); ``` 通过这种方式,可以在不同的屏幕上获得一致的效果[^2]。 值得注意的是,有时候即使已经正确配置了 `setPadding()` 函数,仍然可能会遇到一些视觉异常的情况,比如项目间存在不必要的空白区域等问题。此时应当检查布局文件中的 XML 属性以及其他可能干扰的因素,如 ItemDecoration 或 LayoutManager 配置不当等[^3]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值