Android 用の改行ウィジェット レイアウト
問題:
Android アプリケーションでは、それぞれが単語を表すウィジェットに分割できるデータがある場合があります。このデータを表示するには、テキスト段落と同様にウィジェットを行に配置し、必要に応じて次の行に折り返せるようにします。
提案された解決策:
テキストの改行動作を模倣する PredicateLayout として知られるカスタム レイアウトを実装します。このレイアウトは、子ビューを行に配置し、行の終わりに達したときに折り返すことで子ビューを管理します。
コード サンプル:
public class PredicateLayout extends ViewGroup { private int line_height; // ... @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // ... for (int i = 0; i < count; i++) { // ... final LayoutParams lp = (LayoutParams) child.getLayoutParams(); // ... line_height = Math.max(line_height, child.getMeasuredHeight() + lp.height); // ... } this.line_height = line_height; // ... } // ... }
使用法:
アクティビティ内で、このカスタム レイアウトを次のように使用できます。次のとおりです:
public class MyActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { // ... PredicateLayout l = new PredicateLayout(this); // ... setContentView(l); } }
結果:
PredicateLayout はウィジェットを効果的に行に配置し、幅の制約を超えた場合は次の行に折り返します。これにより、折り返されたテキストのような段落としてデータを表示できます。
以上がAndroid のウィジェットに改行レイアウトを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。