我在ImageView的正下方有一个搜索栏,我希望该搜索栏位于图像的正下方, 并设为视图中图像的长度,拇指位于条形图本身的中间位置
我的xml中具有以下布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="1"
>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frlayout"
android:layout_weight="0.82"
android:layout_width="match_parent"
android:layout_height="0dp">
<ImageView
android:id="@+id/imageView"
android:background="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</FrameLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.07"
android:orientation="horizontal"
android:layout_gravity="center"
android:id="@+id/seekbarView">
<SeekBar
android:id="@+id/seekBar"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="0.07"
android:progress="1000"
android:max="2000"
android:layout_gravity="center"
/>
</LinearLayout>
(其余省略)
我考虑过将填充物置于搜索栏的左侧以使其居中,并使用LayoutParams调整搜索栏本身的大小:
int lefthandside = (findViewById(R.id.seekbarView).getMeasuredWidth() - img2.getWidth())/2;
// img2 is the image that is loaded into the imageview
// We get the leftpadding by finding the total width of the layout, subtracting the width of the image
// and then dividing by two - this tells us the surplus space on either side
LayoutParams lp = new LayoutParams(img2.getWidth(), LinearLayout.LayoutParams.MATCH_PARENT);
simpleSeekBar.setLayoutParams( lp );
// This should hopefully resize the seekbar - the width should be the same as the width of img2
// and the height should be the same as the LinearLayout "container"
simpleSeekBar.setPadding(lefthandside, 0,0,0);
从随附的相关区域的屏幕截图中可以看到,这只是部分成功,但是缺少大多数搜索栏“轨道”,因此我无法移动拇指。
在我看来,seekbar的大小已正确调整,但我们只看到它的尾部(右手侧)端,它没有居中,但我仍然靠着屏幕左侧平齐。出于某些原因,拇指左侧的大部分搜索栏现在都已隐藏。
我不能做的一件事就是从搜索栏中删除linearlayout“容器”-我已经尝试过了,尽管它可以使搜索栏居中,但对其余的布局却有不利影响。
我也尝试过删除layout_gravity属性,但没有成功。