我想你已经回答了你的问题.正如你所说的差异只是因为左右填充,你可以通过简单地改变视图的边距来实现这一点,如下所示.
假设这是你的XML:
android:layout_width="match_parent"
android:layout_height="wrap_content" >
android:id="@+id/view1"
android:layout_width="1dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/seekBar"
android:layout_alignParentLeft="true"
android:layout_alignTop="@+id/seekBar"
android:background="@android:color/black" />
android:id="@+id/view2"
android:layout_width="1dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/seekBar"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/seekBar"
android:background="@android:color/black" />
android:id="@+id/seekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:maxHeight="1dp"
android:progressDrawable="@android:color/black" />
然后只需在您的java文件中添加以下行:
SeekBar seekBar = (SeekBar) findViewById(R.id.seekBar);
((ViewGroup.MarginLayoutParams) findViewById(R.id.view1).getLayoutParams()).leftMargin = seekBar.getPaddingLeft();
((ViewGroup.MarginLayoutParams) findViewById(R.id.view2).getLayoutParams()).rightMargin = seekBar.getPaddingRight();
这绝对不是最好的解决方案,但是很简单.
这里有几张它的样子