标签:android style http io ar color os sp java
Android环境GridView等场景,指定每行个数、行数,SquareLinearLayout就会自适应填满GridView
|
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); } } |
|
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)); } } |
|
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)
标签:android style http io ar color os sp java
原文地址:http://blog.csdn.net/u014311042/article/details/41841333