提交 7c4e404d 编写于 作者: C chaychan

修改expandableLinearLayout

上级 df5793e0
...@@ -24,6 +24,8 @@ ...@@ -24,6 +24,8 @@
</activity> </activity>
<activity android:name=".activity.RunningTextViewDemoActivity"> <activity android:name=".activity.RunningTextViewDemoActivity">
</activity> </activity>
<activity android:name=".activity.ExpandableLinearLayoutDemoActivity">
</activity>
</application> </application>
</manifest> </manifest>
\ No newline at end of file
package com.chaychan.powerfulviewlibrary.activity;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import com.chaychan.powerfulviewlibrary.R;
import com.chaychan.viewlib.ExpandableLinearLayout;
public class ExpandableLinearLayoutDemoActivity extends AppCompatActivity {
private ExpandableLinearLayout ellProduct;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_expandable_linear_layout_demo);
ellProduct = (ExpandableLinearLayout) findViewById(R.id.ell_product);
for (int i = 0; i < 9; i++) {
View view = View.inflate(this, R.layout.item_product, null);
ellProduct.addItem(view);
}
}
}
...@@ -15,7 +15,8 @@ public class MainActivity extends ListActivity { ...@@ -15,7 +15,8 @@ public class MainActivity extends ListActivity {
new DemoBean("PowerfulEditTextDemo",PowerfulEditTextDemoActivity.class), new DemoBean("PowerfulEditTextDemo",PowerfulEditTextDemoActivity.class),
new DemoBean("ExpandableTextViewDemo",ExpandableTextViewDemoActivity.class), new DemoBean("ExpandableTextViewDemo",ExpandableTextViewDemoActivity.class),
new DemoBean("PieChartViewDemo",PieChartViewDemoActivity.class), new DemoBean("PieChartViewDemo",PieChartViewDemoActivity.class),
new DemoBean("RunningTextViewDemo",RunningTextViewDemoActivity.class) new DemoBean("RunningTextViewDemo",RunningTextViewDemoActivity.class),
new DemoBean("ExpandableLinearLayoutDemo",ExpandableLinearLayoutDemoActivity.class)
}; };
@Override @Override
......
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<!--商品列表-->
<com.chaychan.viewlib.ExpandableLinearLayout
android:id="@+id/ell_product"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical"
app:defaultItemCount="2"
app:expandText="收起内容"
app:hideText="查看更多"
>
</com.chaychan.viewlib.ExpandableLinearLayout>
</ScrollView>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="10dp"
>
<ImageView
android:layout_width="100dp"
android:layout_height="80dp"
android:layout_gravity="center"
android:scaleType="centerCrop"
android:src="@mipmap/ic_default"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:orientation="vertical"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="隆江猪脚饭"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center"
android:orientation="horizontal"
>
<TextView
android:id="@+id/tv_intro"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="特别好吃哦,带回家啊时间还是健康的贺卡上空间的挥洒健康的贺卡姐啊上课黑色的健康哈空间"
android:textColor="#9f9f9f"
/>
<TextView
android:id="@+id/tv_money"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:drawablePadding="5dp"
android:text="99.00"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
...@@ -69,8 +69,7 @@ public class ExpandableLinearLayout extends FrameLayout implements View.OnClickL ...@@ -69,8 +69,7 @@ public class ExpandableLinearLayout extends FrameLayout implements View.OnClickL
public void addItem(View view) { public void addItem(View view) {
LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); llContainer.addView(view);
llContainer.addView(view,params);
refreshUI(); refreshUI();
} }
...@@ -100,7 +99,7 @@ public class ExpandableLinearLayout extends FrameLayout implements View.OnClickL ...@@ -100,7 +99,7 @@ public class ExpandableLinearLayout extends FrameLayout implements View.OnClickL
int viewHeight = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int viewHeight = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
view.measure(viewWidth, viewHeight); view.measure(viewWidth, viewHeight);
height += view.getMeasuredHeight(); height += view.getMeasuredHeight() + view.getPaddingTop() + view.getPaddingBottom();
} }
doAnimation(params.height,height);//执行动画 doAnimation(params.height,height);//执行动画
...@@ -120,7 +119,7 @@ public class ExpandableLinearLayout extends FrameLayout implements View.OnClickL ...@@ -120,7 +119,7 @@ public class ExpandableLinearLayout extends FrameLayout implements View.OnClickL
int viewHeight = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int viewHeight = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
view.measure(viewWidth, viewHeight); view.measure(viewWidth, viewHeight);
height += view.getMeasuredHeight(); height += view.getMeasuredHeight()+ view.getPaddingTop() + view.getPaddingBottom();
} }
if (withAnimation){ if (withAnimation){
...@@ -128,6 +127,7 @@ public class ExpandableLinearLayout extends FrameLayout implements View.OnClickL ...@@ -128,6 +127,7 @@ public class ExpandableLinearLayout extends FrameLayout implements View.OnClickL
}else{ }else{
params.height = height; params.height = height;
llContainer.setLayoutParams(params); llContainer.setLayoutParams(params);
llContainer.requestLayout();
} }
} }
...@@ -147,6 +147,7 @@ public class ExpandableLinearLayout extends FrameLayout implements View.OnClickL ...@@ -147,6 +147,7 @@ public class ExpandableLinearLayout extends FrameLayout implements View.OnClickL
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) llContainer.getLayoutParams(); LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) llContainer.getLayoutParams();
params.height = height; params.height = height;
llContainer.setLayoutParams(params); llContainer.setLayoutParams(params);
llContainer.requestLayout();
} }
}); });
......
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
android:layout_gravity="center" android:layout_gravity="center"
android:minHeight="30dp" android:minHeight="30dp"
android:id="@+id/rl_bottom" android:id="@+id/rl_bottom"
android:layout_marginTop="5dp"
android:visibility="gone" android:visibility="gone"
android:layout_marginBottom="10dp"
> >
<TextView <TextView
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册