2017-07-29 15 views
0

プログラムで作成されたチェックボックスのテキストを、チェックボックスの右側ではなく左に揃えて設定する方法を教えてください。以下はコードスニペットです:Android:プログラムで設定されたチェックボックスのテキスト位置を右に設定

Checkbox check1 = new Checkbox(getApplicationContext()); 
check1.setLayoutParams(new ActionBar.LayoutParams(LinearLayoutCompat.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)); 
check1.setId(fieldNo); 
check1.setTextColor(Color.BLACK); 
check1.setGravity(Gravity.RIGHT); 
check1.setText(formField.get(fieldNo)); 

上記のコードの結果、チェックボックスの右側にテキストが表示されます。ここで

はスクリーンショットです:enter image description here

私は、チェックボックスの左側にテキストを持つことができますどのように?

+1

'check1.setGravity(Gravity.LEFT)'この –

+0

が試してみたが動作していません。 – max

答えて

1

あなたはアクションバーののparamsを使用して、その後のparamsをLinearLayoutCompatた。このラインで

check1.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)); 

次を変更する必要があります。 1つのカテゴリに固執し、LinearLayoutだけのチェックボックスのようなカスタムビューで行ってください。

UPDATE 1:

あなたはCheckedTextViewを使用する必要があります。私はそれのための標準のアンドロイドdrawableを使用しているが、あなたもカスタムチェックボックスのデザインを使用することができます。

だからあなたの全体的なコードは次のようになります -

final CheckedTextView check1 = new CheckedTextView(getApplicationContext()); 
    check1.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)); 
    check1.setId(fieldNo); 
    check1.setCheckMarkDrawable(android.R.drawable.checkbox_off_background); 
    check1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (check1.isChecked()){ 
       check1.setChecked(false); 
       check1.setCheckMarkDrawable(android.R.drawable.checkbox_off_background); 
      }else{ 
       check1.setChecked(true); 
       check1.setCheckMarkDrawable(android.R.drawable.checkbox_on_background); 
      } 
     } 
    }); 
    check1.setTextColor(Color.BLACK); 
    check1.setGravity(Gravity.LEFT); 
    check1.setText(formField.get(fieldNo)); 
+0

試しましたが、動作しません。 – max

+0

私はちょうどやったし、それは私のために絶対に正常に働いた。このチェックボックスをparentViewにどのように追加しますか? –

+0

申し訳ありませんが私の悪い私はあなたの質問をmispterted。スクリーンショットのようにしたいと思った。 –

0

これを実現するには、チェックボックスのテキストをnullまたは空にして、その左側にTextViewを追加するだけです。私はこれがあなたが探している解決策ではないと率直に言って、私自身はそれに満足していません。しかし、あなたがあなたの問題を解決するために必死であればうまくいくでしょう。 より良いUXのために、TextViewにOnClickListenerを追加することができます。それ以外の場合は、TextViewをタップしてもCheckBoxは選択されません。

関連する問題