我想將進度圈的寬度和高度設置爲其旁邊項目的高度,即一個按鈕。最後,我想要一個具有相同高度和寬度的圓圈,佔據搜索按鈕的總高度 - 如果有更簡單的方法可以做到這一點,請告訴我。使用Java獲取按鈕的計算寬度(返回-2?)
我想這不能使用簡單的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);
這並不適用於寬度工作,但是它確實爲高度工作。我添加了敬酒以查看一些調試信息。 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" />
根據this-2
意味着wrap_content
。但我不想像XML那樣擁有高度,我可以自己看到。我想要由設備計算的高度。
我該如何得到這個工作?