レイアウトの[設定]ボタンの外観を複製するために、アプリケーションのカスタムウィジェットに取り組んでいます。問題は、「要約」テキストがビューの右側の壁に当たったときに折り返されないことです。私が維持しようとしている目標の1つは、このウィジェットがXML属性のないJavaから完全に作成されていることです。
以下は、テキストビューの作成に使用しているコードです。
public void setSummary(String summary) {
if (!TextUtils.isEmpty(summary)) {
if (mSummaryView == null) {
mSummaryView = new TextView(mContext);
mSummaryView.setTextSize(14);
mSummaryView.setTextColor(mContext.getResources().getColor(
android.R.color.tertiary_text_dark));
addView(mSummaryView);
}
mSummaryView.setText(summary);
mSummaryView.setVisibility(View.VISIBLE);
} else {
if (mSummaryView != null) {
mSummaryView.setVisibility(View.GONE);
}
}
mSummaryText = summary;
}
サマリービューのレイアウトに使用しているコードは次のとおりです
mSummaryView.layout(
mPreferencePadding + mIconWidth,
centerVertical + (mCombinedTextHeight / 2) - mSummaryHeight,
width - mPreferencePadding,
centerVertical + (mCombinedTextHeight / 2));
私は追加しようとしました:
mSummaryView.setSingleLine(false);
他のかなりの数のトリックと一緒に、しかしそれらはすべて同じ方法で終わりました。