4

私はおそらくただのばかげているだけですが、私のGoogle検索はうまく機能していません.

コードに追加するボタンがたくさんあり、すべて動的テキストがあります。私のアプリケーションではデフォルトのグレーボタンがうまく機能しないため、これらのボタンのそれぞれに背景画像を設定しました。

これは完全に機能し、テキスト サイズ (またはコンテンツ) が変更されると、ボタンは展開されたテキストに合わせて自動的に拡大します。うまくいかないのは、ボタンを比例的にスケーリングしたいということです。つまり、背景画像が丸い場合、ボタンが大きくなっても楕円形ではなく丸いままにしたいのです。

イメージボタンには、まさにこれを行う「ビュー境界の調整」プロパティがありますが、イメージボタンにテキストを配置できません。通常のボタンに相当するものはありますか?

それとも私はこれについて間違っていますか?

また、コードでボタンの幅を設定しようとしましたが、新しい高さを判断できないようです (button.getHeight() は 0 を返します)。

4

1 に答える 1

4

私はそれを行う1つの方法を見つけました...パッチ9を変更して、拡張可能な領域を両方の軸で最大にしました。

次に、次のように DisplayMetrics を使用しました。

        DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        buttonView.setGravity(Gravity.CENTER);

        int buttonSize=(int) Math.floor(metrics.density*1.6*fontSize);
        buttonView.setWidth(buttonSize);
        buttonView.setHeight(buttonSize);

ここで、fontSize は、各ボタンに配置する DIP のフォントのサイズです。この場合、各ボタンに文字が 1 つしかないので、テキストの長さを気にする必要はありませんが、明らかにこれを微調整して、その状況を処理することもできます。

于 2010-05-15T01:06:07.717 に答える