Java 结合两个布局参数的Android
我正在尝试使用布局参数修复ProgressBar的宽度和边距 以下内容正确设置了布局的页边Java 结合两个布局参数的Android,java,android,layout,layoutparams,Java,Android,Layout,Layoutparams,我正在尝试使用布局参数修复ProgressBar的宽度和边距 以下内容正确设置了布局的页边 int finalHeight = soundcloudImage.getHeight() / 8; int finalWidth = soundcloudImage.getWidth() / 4; RelativeLayout.LayoutParams progressParams = (RelativeLayout.LayoutParams)progressBar.getLayoutParams()
int finalHeight = soundcloudImage.getHeight() / 8;
int finalWidth = soundcloudImage.getWidth() / 4;
RelativeLayout.LayoutParams progressParams = (RelativeLayout.LayoutParams)progressBar.getLayoutParams();
progressParams.setMargins(0, 0, 0, finalHeight);
progressBar.setLayoutParams(progressParams);
这成功地设置了布局宽度
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(finalWidth*2, 20);
progressBar.setLayoutParams(params);
然而,我似乎无法将这句话结合起来让他们一起工作
下面是布局xml
<RelativeLayout
android:id="@+id/relativelayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/soundcloudimage" />
<TextView
android:id="@+id/myImageViewText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/imageView"
android:textSize="20dp"
android:layout_centerHorizontal="true"
android:text=""
android:textColor="#EA4F17" />
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/imageView"
android:layout_alignLeft="@+id/imageView"
android:layout_alignParentRight="true" />
</RelativeLayout>
结果就是这样
编辑:还尝试了以下操作:
RelativeLayout.LayoutParams progressParams = new RelativeLayout.LayoutParams(finalWidth*2, 20);
progressParams.setMargins(0, 0, 0, finalHeight);
progressBar.setLayoutParams(progressParams);
这是什么造成的
RelativeLayout.LayoutParams progressParams = (RelativeLayout.LayoutParams)progressBar.getLayoutParams();
progressParams.width=finalWidth*2;
progressParams.height= 20;
progressParams.setMargins(finalWidth, 0, finalWidth, finalHeight);
progressBar.setLayoutParams(progressParams);
编辑
试试这个:
RelativeLayout.LayoutParams progressParams = new RelativeLayout.LayoutParams(finalWidth*2, 20);
progressParams.setMargins(0, 0, 0, finalHeight);
progressBar.setLayoutParams(progressParams);
宽度不按此方式设置此代码设置了进度条边距,但宽度的作用就好像它的填充父项您的编辑强制宽度起作用,但边距不起作用,将以编辑方式添加图像您也可以发布布局吗?使用getLayoutParam one(第一个)并在布局中删除android:layout\u alignParentRight=“true”
RelativeLayout.LayoutParams progressParams = new RelativeLayout.LayoutParams(finalWidth*2, 20);
progressParams.setMargins(0, 0, 0, finalHeight);
progressBar.setLayoutParams(progressParams);