ViewSwitcher 子布局无法居中 /子布局无法填满容器问题
来源:互联网 发布:最大的建筑知乎 编辑:程序博客网 时间:2024/06/08 17:57
今天在做一个项目的时候用到了ViewSwitcher,然而却遇到了子布局无法居中的问题,以下是问题代码
historySwitcher = (ViewSwitcher) findViewById(R.id.history_container); historySwitcher.setFactory(new ViewSwitcher.ViewFactory() { // 实际上就是返回一个view @Override public View makeView() { return LayoutInflater.from(mContext).inflate(R.layout.history_view,null); } });
按照网上的例子,直接以匿名内部类的方法新建了viewFactory
之后,对获取到的view进行加工
SpannableStringBuilder text= new SpannableStringBuilder(mContext.getResources().getString(R.string.history_empty)); text.setSpan(new AbsoluteSizeSpan(60), 0, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); viewToShow.findViewById(R.id.history_list).setVisibility(View.GONE); TextView tv = viewToShow.findViewById(R.id.history_action_name); tv.setText(text); viewToShow.setForegroundGravity(Gravity.CENTER); historySwitcher.showNext();
这时候遇到问题,上述代码的textview无论如何都无法居中
将布局染色后发现,R.layout.history_view这个布局没有填满预留出的位置,导致此问题
排查后发现,是由于ViewSwitcher返回的view没有绑定根所导致的,修改第一段代码如下
historySwitcher = (ViewSwitcher) findViewById(R.id.history_container); historySwitcher.setFactory(new ViewSwitcher.ViewFactory() { // 实际上就是返回一个view @Override public View makeView() { return LayoutInflater.from(mContext).inflate(R.layout.history_view,(ViewGroup) getWindow().getDecorView().findViewById(android.R.id.content), false); } });
注意,为了使布局摆放更加合理,应主动绑定父布局
阅读全文
0 0
- ViewSwitcher 子布局无法居中 /子布局无法填满容器问题
- ScrollView子布局填满整个屏幕
- scrollview中的子控件填满布局
- Android布局LinearLayout子控件无法填充问题
- addView()后子布局不居中问题总结与分析
- android scrollView 内部子布局MATCH_PARENT却无法填充满屏幕问题
- Android 关于ScrollView的子布局无法设置高度的问题
- android scrollView 内部子布局MATCH_PARENT却无法填充满屏幕问题
- gridView中的子控件无法铺满父布局
- android适配器,子布局不能撑满父容器
- ScrollView无法填满的问题
- android scrollView 内部子布局无法充满屏幕- LinearLayout not expanding inside a ScrollView
- 当元素使用flex布局,子级无法设置高度怎么办?
- HorizontalScrollView嵌套横向的LinearLayout,addView后 子view无法居中显示问题
- RecyclerView GridLayoutManager 布局 无法居中(偏左)
- CoordinatorLayout中设置layout_behavior的布局无法垂直居中问题解决
- 解决ScrollView下的子控件无法居中
- 解决ScrollView下的子控件无法居中
- Servlet基础(2)
- Tomcat默认目录配置详解
- hdu 6150 Vertex Cover
- Hdu 6154 CaoHaha's staff
- R文件无法生成的一种比较隐蔽的原因
- ViewSwitcher 子布局无法居中 /子布局无法填满容器问题
- Sys请教下如何用C#开发一个简易的电路模拟程序<qi>
- linux 防火墙 iptables
- MySQL连接报错:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
- linux NFS服务
- 如何将文件映射到内存
- linux postfix邮件服务
- linux samba服务
- MySQL分配角色权限