2
我需要使TextView與背景圖像(9patch)的長寬比保持不變。所以我用下面的代碼在我的活動:TextView中的文本從9patch填充邊框中抽出
@Override
public void onResume() {
super.onResume();
// adding contact image resize callback for adjusting image height
findViewById(R.id.contactText).getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// aspect ratio
float resizeRatio = 1.13f;
// getting contact frame
TextView contactView = (TextView) findViewById(R.id.contactText);
ViewGroup.LayoutParams layout = contactView.getLayoutParams();
// resizing contact text
layout.height = (int) (contactView.getWidth() * resizeRatio);
contactView.setLayoutParams(layout);
contactView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
});
}
此代碼做什麼,我希望 - TextView的調整大小。但是用九個補丁描述的文本邊框(填充)是從未調整大小的圖像中獲得的。所以文本顯示在TextView的中心而不是底部,即填充邊界所在的位置。
如何解決這個問題?