正如在我的标题gridview中,图像不适合所有屏幕.

在我的应用程序中,我有15个图像,它是标题,我想在所有屏幕尺寸的3列和5行格式显示它.

但我的Gridview不适合所有屏幕尺寸和图像,标题未正确对齐.

我已经在以下API级别测试了我的应用程序并得到了以下响应.

Reminders.java

public class Reminders extends Fragment {

private OnFragmentInteractionListener mListener;

private View rootView;

public Reminders() {

}

public static Reminders newInstance(String param1, String param2) {

Reminders fragment = new Reminders();

Bundle args = new Bundle();

fragment.setArguments(args);

return fragment;

}

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

}

@Override

public View onCreateView(LayoutInflater inflater,

ViewGroup container,

Bundle savedInstanceState) {

rootView = inflater.inflate(R.layout.fragment_reminders, container, false);

GridView gridView = (GridView) rootView.findViewById(R.id.photogridview);

gridView.setAdapter(new ImageAdapter(rootView.getContext())); // uses the view to get the context instead of getActivity().

return rootView;

}

public void onButtonPressed(Uri uri) {

if (mListener != null) {

mListener.onFragmentInteraction(uri);

}

}

@Override

public void onAttach(Context context) {

super.onAttach(context);

if (context instanceof OnFragmentInteractionListener) {

mListener = (OnFragmentInteractionListener) context;

} else {

throw new RuntimeException(context.toString()

+ " must implement OnFragmentInteractionListener");

}

}

@Override

public void onDetach() {

super.onDetach();

mListener = null;

}

public interface OnFragmentInteractionListener {

void onFragmentInteraction(Uri uri);

}

}

解决方法:

所以,问题在于你如何在这个方法中创建View,并且出现了一些问题:

public View getView(int position, View convertView, ViewGroup parent) {

LinearLayout linearlayout=new LinearLayout(mContext);

ImageView imageView = new ImageView(mContext);

TextView textView =new TextView(mContext);

textView.setGravity(Gravity.CENTER);

linearlayout.setOrientation(LinearLayout.VERTICAL);

imageView.setImageResource(mThumbIds[position]);

imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);

imageView.setLayoutParams(new GridView.LayoutParams(230, 230));

textView.setText(mThumbTxt[position]);

linearlayout.addView(imageView);

linearlayout.addView(textView);

return linearlayout;

}

1)现在,你忽略了convertView,所以你在实例化View之前没有检查是否为null,从而浪费了GridViews的回收机制.

2)您将GridView.LayoutParams附加到嵌套在LinearLayout中的子视图. LinearLayout应该有GridView.LayoutParams,但LinearLayout的子节点应该有LinearLayout.LayoutParams.

3)layout_gravity和gravity之间有区别 – 你使用的是引力,对于LinearLayout来说,它不会像你想象的那样工作. (除非在此上下文中,您将TextView更改为match_parent的宽度,但那可能会使其他内容混乱)

我建议放弃动态创建并采用XML通胀方法.

标签:android-gridview,android

来源: https://codeday.me/bug/20190927/1824772.html

android gridview 中图片大小不一,android – Gridview及其图像不适合所有屏幕大小相关推荐

  1. android批量转换图片格式,使用Android Studio批量转换图片为Webp格式

    简介 Webp是一个现代的图片格式提供优秀的无损和有损压缩.使用Webp我们可以创建更小更丰富的图片. Webp无损图片比PNG图片的size小26%.Webp有损图片在同等SSIM(结构化相似)质量 ...

  2. android 点击图片动画效果,Android仿微信图片点击全屏效果

    废话不多说,先看下Android图片点击全屏效果: 先是微信的 再是模仿的 先说下实现原理,再一步步分析 这里总共有2个Activity一个就是主页,一个就是显示我们图片效果的页面,参数通过Inten ...

  3. android项目中自定义顶部标题栏,Android项目中自定义顶部标题栏

    Android项目中自定义顶部标题栏 下面给大家详细介绍android中自定义顶部标题栏的思路及实现方式 先来图: 思路及实现步骤 1.定义标题栏布局 2.自定义TitleActivity控制标题栏按 ...

  4. Gridview导出到Excel,Gridview中的各类控件,Gridview中删除记录的处理

    Asp.net 2.0中新增的gridview控件,是十分强大的数据展示控件,在前面的系列文章里,分别展示了其中很多的基本用法和技巧(详见< ASP.NET 2.0中Gridview控件高级技巧 ...

  5. 【Android 安装包优化】Android 应用中 7zr 可执行程序准备 ( Android Studio 导入可执行 7zr 程序 | 从 Assets 资源文件拷贝 7zr 到内置存储 )

    文章目录 一.Android Studio 导入可执行 7zr 程序 二.从 Assets 资源文件拷贝 7zr 到内置存储空间 三.参考资料 一.Android Studio 导入可执行 7zr 程 ...

  6. android studio中error,ERROR在Android Studio中

    创建对话框我收到此错误java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Tex ...

  7. android工程中的软件,通过Android Studio创建Android应用程序(附带解析)

    这一节我们主要来创建一个简单的 Android 的应用程序. 创建 HelloWorld 工程 启动 Android Studio,依次选择 File --> New --> New Pr ...

  8. Android编译自定义sdk,java – 使用自定义android.bluetooth.而不是在android studio中默认的sdk android.jar中存在一个...

    我想使用自定义android.bluetooth而不是Android SDK附带的android.jar中的presend.我将android.bluetooth编译成单独的jar文件并导入到stud ...

  9. android系统模拟麦克风,在Android模拟器中使用麦克风(Java Android初学者)

    在 Android模拟器中使用麦克风的 I READ HERE可能是可能的,所以我决定尝试一下(尽管 THIS QUESTION的答案说它不可能) 我复制/粘贴了 ANDROID DEVELOPERS ...

最新文章

  1. linux socket 阻塞非阻塞设置 fcntl,F_GETFL,F_SETFL,flags
  2. 2022年了我才发现Chrome原来可以直接生成二维码...
  3. showModalDialog详解
  4. QT的QProgressDialog类的使用
  5. FastMaskRCNN算法TensorFlow配置,训练
  6. 代码演示:获取锁时被中断
  7. P4389 付公主的背包(生成函数/多项式)
  8. Bristol的第6篇密码学
  9. SQLPlus登录及使用
  10. android relativelayout 垂直居中,RelativeLayout子控件垂直居中
  11. 淘宝双十一自动做任务方案
  12. matlab写子函数,matlab主函数子函数怎么写
  13. 微信卡片生成,微信分享链接卡片名片制作,无需认证服务号微信分享链接美化描述LOGO
  14. 微信小程序-001-抽签功能
  15. MySQL 报错1055
  16. python 之 for 循环
  17. 最全的Android源码目录结构详解
  18. 名额有限| 和喜马拉雅、网易严选、大搜车...学运营,是超级用户运营!
  19. JSON和list之间的转换
  20. SQL优化 - Group By 导致的慢sql

热门文章

  1. 【问题解决】连接mysql 8错误:authentication plugin 'caching_sha2_password
  2. Android 设置EditText光标Cursor颜色及粗细
  3. Infortrend推出超大容量存储解决方案
  4. Java基础学习总结(26)——JNDI入门简介
  5. 网络之XML解析-原生
  6. [Android学习笔记]理解焦点处理原理的相关记录
  7. 过滤当前主机的IPV4地址
  8. 实战篇-简单多语言的实现
  9. 线性表的链式表示——循环链表
  10. 20080330 - strong-typing and weak-typing