android gridview 中图片大小不一,android – Gridview及其图像不适合所有屏幕大小
正如在我的标题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及其图像不适合所有屏幕大小相关推荐
- android批量转换图片格式,使用Android Studio批量转换图片为Webp格式
简介 Webp是一个现代的图片格式提供优秀的无损和有损压缩.使用Webp我们可以创建更小更丰富的图片. Webp无损图片比PNG图片的size小26%.Webp有损图片在同等SSIM(结构化相似)质量 ...
- android 点击图片动画效果,Android仿微信图片点击全屏效果
废话不多说,先看下Android图片点击全屏效果: 先是微信的 再是模仿的 先说下实现原理,再一步步分析 这里总共有2个Activity一个就是主页,一个就是显示我们图片效果的页面,参数通过Inten ...
- android项目中自定义顶部标题栏,Android项目中自定义顶部标题栏
Android项目中自定义顶部标题栏 下面给大家详细介绍android中自定义顶部标题栏的思路及实现方式 先来图: 思路及实现步骤 1.定义标题栏布局 2.自定义TitleActivity控制标题栏按 ...
- Gridview导出到Excel,Gridview中的各类控件,Gridview中删除记录的处理
Asp.net 2.0中新增的gridview控件,是十分强大的数据展示控件,在前面的系列文章里,分别展示了其中很多的基本用法和技巧(详见< ASP.NET 2.0中Gridview控件高级技巧 ...
- 【Android 安装包优化】Android 应用中 7zr 可执行程序准备 ( Android Studio 导入可执行 7zr 程序 | 从 Assets 资源文件拷贝 7zr 到内置存储 )
文章目录 一.Android Studio 导入可执行 7zr 程序 二.从 Assets 资源文件拷贝 7zr 到内置存储空间 三.参考资料 一.Android Studio 导入可执行 7zr 程 ...
- android studio中error,ERROR在Android Studio中
创建对话框我收到此错误java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Tex ...
- android工程中的软件,通过Android Studio创建Android应用程序(附带解析)
这一节我们主要来创建一个简单的 Android 的应用程序. 创建 HelloWorld 工程 启动 Android Studio,依次选择 File --> New --> New Pr ...
- Android编译自定义sdk,java – 使用自定义android.bluetooth.而不是在android studio中默认的sdk android.jar中存在一个...
我想使用自定义android.bluetooth而不是Android SDK附带的android.jar中的presend.我将android.bluetooth编译成单独的jar文件并导入到stud ...
- android系统模拟麦克风,在Android模拟器中使用麦克风(Java Android初学者)
在 Android模拟器中使用麦克风的 I READ HERE可能是可能的,所以我决定尝试一下(尽管 THIS QUESTION的答案说它不可能) 我复制/粘贴了 ANDROID DEVELOPERS ...
最新文章
- linux socket 阻塞非阻塞设置 fcntl,F_GETFL,F_SETFL,flags
- 2022年了我才发现Chrome原来可以直接生成二维码...
- showModalDialog详解
- QT的QProgressDialog类的使用
- FastMaskRCNN算法TensorFlow配置,训练
- 代码演示:获取锁时被中断
- P4389 付公主的背包(生成函数/多项式)
- Bristol的第6篇密码学
- SQLPlus登录及使用
- android relativelayout 垂直居中,RelativeLayout子控件垂直居中
- 淘宝双十一自动做任务方案
- matlab写子函数,matlab主函数子函数怎么写
- 微信卡片生成,微信分享链接卡片名片制作,无需认证服务号微信分享链接美化描述LOGO
- 微信小程序-001-抽签功能
- MySQL 报错1055
- python 之 for 循环
- 最全的Android源码目录结构详解
- 名额有限| 和喜马拉雅、网易严选、大搜车...学运营,是超级用户运营!
- JSON和list之间的转换
- SQL优化 - Group By 导致的慢sql