android 动态设置控件宽度,比例等

简介: android 动态设置控件宽度,比例等

image.png

左边是手机上面的效果,右边是华为pad上面的效果。


中间 合同价 竣工结算价 这个分类要求显示4个,所以 这个里面item的宽度是动态计算的。


不然无法满足要求。


计算的思路


是用 (屏幕宽度-2*中间linearlayout的 margin-2*中间linearlayout的padding)/4


就是每个item的宽度。


这里面还需要注意一点就是动态设置宽度 不要给item xml里面的 最外面的Linearlayout或者RelativeLayout设置width


这样可能会出错,直接给 布局里面的 textView 或者imageView设置就可以了

 private void getScreenInfo() {
        ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) mDocCateFl.getLayoutParams();
        int margin = 0;
        int padding = 0;
        margin = lp.leftMargin;
        padding = mDocCateFl.getPaddingLeft();
        mItemWidth = (PhoneUtil.getScreenWidth(getContext())-(2*margin) - (2*padding)) / 4 ;
    }
  /**
   * 获取屏幕宽度;
   */
  public static int getScreenWidth(Context context) {
    return context.getApplicationContext().getResources()
        .getDisplayMetrics().widthPixels;
  }

mDocCateFl是中间的layout  , mItemWidth是计算出来的宽度,然后将宽度传到adapter里面。

给对应的 textView设置上就可以了

  LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(mItemWidth, LinearLayout.LayoutParams.WRAP_CONTENT);
  vh.titleTv.setLayoutParams(params);


相关文章
|
24天前
|
Android开发 开发者
Android设置View是否可用
在Android开发中,有时需要将布局设置为不可点击状态(失去焦点)。常见的解决方法是使用`setOnClickListener(null)`,但本文介绍一种更通用的方式:通过封装`setViewEnabled`方法实现。该方法可递归设置View及其子View的启用状态,支持传入目标View和布尔值(`true`为可用,`false`为禁用)。例如,调用`setViewEnabled(edittext, false)`即可禁用EditText。文章附有源码及示例动图,帮助开发者快速理解与应用。
|
24天前
|
Android开发 开发者
Android中Dialog位置+样式的设置
本文介绍了在Android开发中如何设置Dialog的位置和样式。通过自定义`MyDialog`类,可以灵活调整Dialog的显示位置,例如将其固定在屏幕底部,并设置宽度匹配父布局。同时,文章还展示了如何模仿Android原生Dialog样式,通过定义`MyDialogStyle`去除标题栏、设置背景透明度、添加阴影效果以及配置点击外部关闭等功能,从而实现更加美观和符合需求的Dialog效果。代码示例详细,便于开发者快速上手实现。
|
24天前
|
XML 搜索推荐 Android开发
Android改变进度条控件progressbar的样式(根据源码修改)
本文介绍了如何基于Android源码自定义ProgressBar样式。首先分析了系统源码中ProgressBar样式的定义,发现其依赖一张旋转图片实现动画效果。接着分两步指导开发者实现自定义:1) 模仿源码创建一个旋转动画XML文件(放置在drawable文件夹),修改图片为自定义样式;2) 在UI控件中通过`indeterminateDrawable`属性应用该动画。最终实现简单且个性化的ProgressBar效果,附带效果图展示。
|
24天前
|
Android开发
Android控件样式的抽取(小提及快捷方式)
在Android开发中,若多个控件样式重复,可抽取公共部分以简化代码。例如对EditText提取样式,通过编辑`styles.xml`实现复用。为提高效率,Android Studio提供自动提取Style功能:右键点击控件样式选项,选择“Style...”,勾选需要提取的属性后确认,即可快速生成样式代码,显著提升开发便利性。
|
9月前
|
XML 编解码 Android开发
安卓开发中的自定义视图控件
【9月更文挑战第14天】在安卓开发中,自定义视图控件是一种高级技巧,它可以让开发者根据项目需求创建出独特的用户界面元素。本文将通过一个简单示例,引导你了解如何在安卓项目中实现自定义视图控件,包括创建自定义控件类、处理绘制逻辑以及响应用户交互。无论你是初学者还是有经验的开发者,这篇文章都会为你提供有价值的见解和技巧。
122 3
|
8月前
|
XML 存储 Java
浅谈Android的TextView控件
浅谈Android的TextView控件
90 0
|
9月前
|
Android开发
Android经典实战之Textview文字设置不同颜色、下划线、加粗、超链接等效果
本文介绍了 `SpannableString` 在 Android 开发中的强大功能,包括如何在单个字符串中应用多种样式,如颜色、字体大小、风格等,并提供了详细代码示例,展示如何设置文本颜色、添加点击事件等,助你实现丰富文本效果。
611 3
|
Android开发
Android动态权限(兼容6.0以下和魅族手机方案)
这里以照相机权限为例说明问题。实际开发过程中遇到了不少的坑。
|
API Android开发
组件化系列(一)Android动态权限
历史版本权限组件使用的是AndPermission,长期无人维护,历史代码臃肿,不便拓展,考虑使用PermissionsDispatcher,但是PermissionsDispatcher APT插件会影响编译效率,easypermissions侵入性太强,会影响整个工程,RxPermissions 貌似是最佳选择,但是RxPermissions需要高度自定义符合自己项目特色的UI,所以干脆自己写个权限组件好了,希望大家喜欢
186 0
|
XML Android开发 数据格式