我想将进度圈的宽度和高度设置为它旁边的项目的高度,一个按钮。最后,我想要一个高度和宽度相等的圆圈,占据搜索按钮的总高度 - 如果有更简单的方法,请告诉我。
我想这不能使用简单的 XML 来完成,所以我试图LayoutParams
在OnCreate()
我的活动功能中使用它:
LayoutParams lpe = search.getLayoutParams();
LayoutParams lpp = searchProgress.getLayoutParams();
lpp.width = lpe.height;
lpp.height = lpp.width;
Toast.makeText(getBaseContext(),"Width: "+lpp.width,Toast.LENGTH_LONG).show();
Toast.makeText(getBaseContext(),"Height: "+lpp.height,Toast.LENGTH_LONG).show();
searchProgress.setLayoutParams(lpp);
这不适用于宽度,但它适用于高度。我添加了 toasts 以查看一些调试信息。两者lpp.width
和lpp.height
都是-2
。这意味着什么?这是 XML:
<Button
android:id="@+id/searchButton"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/searchProgress"
android:layout_alignTop="@+id/searchProgress"
android:layout_toLeftOf="@+id/searchProgress"
android:text="@string/searchButton" />
<ProgressBar
android:id="@+id/searchProgress"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/searchBar"
android:layout_alignRight="@+id/searchResult"
android:layout_alignTop="@+id/searchBar"
android:indeterminate="true"
android:indeterminateBehavior="repeat" />
按照这个 -2
意思wrap_content
。但是我不想拥有 XML 中的高度,我自己可以看到。我想要设备计算的高度。
我怎样才能让它工作?