首页 > 代码库 > SquareLinearLayout(高等于宽的自适应LinearLayout)
SquareLinearLayout(高等于宽的自适应LinearLayout)
Android环境
GridView等场景,指定每行个数、行数,SquareLinearLayout就会自适应填满GridView
[1].[代码] 正方形 跳至 [1] [2] [3]
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | public class SquareLinearLayout extends LinearLayout { public SquareLinearLayout(Context context) { super (context); } public SquareLinearLayout(Context context, AttributeSet attrs) { super (context, attrs); } @Override public void onMeasure( int widthMeasureSpec, int heightMeasureSpec) { super .onMeasure(widthMeasureSpec, widthMeasureSpec); } } |
[2].[代码] 自定义高宽比 跳至 [1] [2] [3]
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public class SquareLinearLayout extends LinearLayout { public SquareLinearLayout(Context context) { super (context); } public SquareLinearLayout(Context context, AttributeSet attrs) { super (context, attrs); } @Override public void onMeasure( int widthMeasureSpec, int heightMeasureSpec) { int width = MeasureSpec.getSize(widthMeasureSpec); int height = Math.round(width* 0 .9f); int mode = MeasureSpec.getMode(widthMeasureSpec); super .onMeasure(MeasureSpec.makeMeasureSpec(width, mode), MeasureSpec.makeMeasureSpec(height, mode)); } } |
[3].[代码] girdview_item.xml 跳至 [1] [2] [3]
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <? xml version = "1.0" encoding = "utf-8" ?> < com.custom.SquareLinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" android:layout_width = "match_parent" android:layout_height = "match_parent" android:gravity = "center" android:orientation = "vertical" > < LinearLayout android:layout_width = "fill_parent" android:layout_height = "fill_parent" android:gravity = "center" android:orientation = "vertical" > < TextView android:id = "@+id/name" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:textColor = "@android:color/black" /> < ImageView android:id = "@+id/icon" android:layout_width = "wrap_content" android:layout_height = "wrap_content" /> </ LinearLayout > </ com.custom.SquareLinearLayout > |
SquareLinearLayout(高等于宽的自适应LinearLayout)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。