プログラムでスタンドのAndroidボタンの境界線の幅を取得するにはどうすればよいですか? テキストのサイズを灰色に合わせて変更するだけですが、境界線のサイズがわからないとできません。ありがとうhttp://s4.postimg.org/9w7idof4d/screenshot_Border_Width.png
質問する
349 次
3 に答える
1
私はついに解決策を見つけました。スピナーのデフォルトのパディングは、たまたまボタンの境界線と同じです。
int paddingLeft = mySpinner.getPaddingLeft();
すべてのデバイスで同じになることを願っています。
編集:すべてのデバイスで同じではありません。私はまだ実用的な解決策を持っていません
于 2013-06-12T04:25:40.413 に答える
0
これは、ボタンの境界線の幅と高さを取得します。
final Button button = new Button(this);
params = new RelativeLayout.LayoutParams(50, 50);
layout.addView(button, params);
button.post(new Runnable()
{
@Override
public void run()
{
button.buildDrawingCache();
Bitmap viewCopy = button.getDrawingCache();
boolean stillBorder = true;
PaddingLeft = 0;
PaddingTop = 0;
while (stillBorder)
{
int color = viewCopy.getPixel(PaddingLeft, button.getHeight() / 2);
if (color != Color.TRANSPARENT)
stillBorder = false;
else
PaddingLeft++;
}
stillBorder = true;
while (stillBorder)
{
int color = viewCopy.getPixel(button.getWidth() / 2, PaddingTop);
if (color != Color.TRANSPARENT)
stillBorder = false;
else
PaddingTop++;
}
}
});
于 2013-07-08T03:48:40.553 に答える