前言
最近为了研究滑动冲突,所以就将ScrollView内部放了ListView。ListView高度设置为750dp。
结果一运行,什么贵,为什么我的listview高度就剩这么点了?说好的750dp呢?这糊鬼呢?
这是ScrollView的原因?但是ScrollView内部放其他控件,也没有这问题啊?
那这是ListView的原因?但是ListView放在LinearLayout等viewgroup内部,也没有这样 的问题啊?
所以,我带着这样的疑问看了一下ScrollView和ListView的测量源码。终于搞懂了为啥。
代码
首先老规矩,先上源码
布局
<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".view.ViewInterceptTestActivity">
<ListView
android:layout_width="match_parent"
android:layout_height="750dp"
android:id="@+id/list_intercept_test"
>
</ListView>
</ScrollView>
代码
public class ViewInterceptTestActivity extends AppCompatActivity {
private static final String TAG = "ViewInterceptTestActivi";
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_intercept_test);
listView= (ListView) findView