プログレス サークルの幅と高さを、その隣にあるボタンの高さに設定したいと考えています。最後に、検索ボタンの高さ全体を占める高さと幅が等しい円が必要です。それを行う簡単な方法があれば教えてください。
これは単純な 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" />
この -2
手段によるとwrap_content
。しかし、私は高さを XML のままにしたくありません。自分で確認できます。デバイスによって計算された高さが必要です。
どうすればこれを機能させることができますか?