一、setMinimumWidth()
给 HorizontalScrollView 设置了 setMinimumWidth()之后,它的子view的weight属性就会生效!
否则将无效!
MainActivity.java
mHsvTest = (HorizontalScrollView) findViewById(R.id.hsv_test);
LinearLayout mRootView = new LinearLayout(getApplicationContext());
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(
android.view.ViewGroup.LayoutParams.WRAP_CONTENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT);
mRootView.setMinimumWidth(getResources().getDisplayMetrics().widthPixels);
mRootView.setLayoutParams(layoutParams);
mRootView.setOrientation(LinearLayout.HORIZONTAL);
mHsvTest.setOverScrollMode(ScrollView.OVER_SCROLL_NEVER);
mHsvTest.addView(mRootView);
for (int i = 0; i < 4; i++) {
TextView textView = new TextView(getApplicationContext());
textView.setPadding(50, 10, 50, 10);
textView.setGravity(Gravity.CENTER);
LinearLayout.LayoutParams tvLayoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1);
textView.setLayoutParams(tvLayoutParams);
textView.setTextSize(34);
textView.setText("第" + i + "个条目");
mRootView.addView(textView);
}