2017-11-14 5 views
0

stackoverflowとgoogleに関する多くの研究の後、私は本当に私の問題には何の問題も見つけませんでした。 さて、ダイアログの右上に高さ= 50、幅= 50のボタンを作成したいと思います。 さて、問題なく高さを設定できますが、幅は機能しません。 linearLayoutを作成しようとしましたが、paramsは決して考慮されませんでした。 はここ(高さが正しくセットされ)私のコードです:任意の成功なしでAlertDialogのカスタムボタン

 button.setLayoutParams(new LinearLayout.LayoutParams(50, 50)); 

private void hello(){ 
    Button button = new Button(this); 

    button.setMinimumWidth(0); 
    button.setWidth(50); 
    button.setMinimumHeight(0); 
    button.setHeight(50); 

    button.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v){ 
      sayHello(); 
     } 
    }); 

    new AlertDialog.Builder(this) 
      .setTitle("Hello world") 
      .setView(button) 
      .setPositiveButton("ok", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int whichButton){ 
        Toast.makeText(getApplicationContext(), "Click !", 
        Toast.LENGTH_SHORT).show(); 
        hello(); 
       } 
      }) 

      .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int whichButton){ 
       } 
      }) 
      .show(); 
} 

は、私が試してみました。

とと:

LinearLayout.LayoutParams rlp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, 
            LinearLayout.LayoutParams.WRAP_CONTENT); 
    rlp.height = 50; 
    rlp.width = 50; 

    button.setText("i"); 
    button.setLayoutParams(rlp); 

と仕事しないか...

私は本当に何が起こっているか理解していない、あなたは私を助けてください試すことができますか?

私は正確に、私はxmlを持っていない、それはjavaのみです。

+1

可能な重複:// stackoverflowの。 com/questions/11607236/how-to-add-buttons-in-androidのアラートボックスで動的に) –

答えて

0

私は最終的に自分のアラートダイアログを作成して、自分の好みに合わせてカスタマイズすることにしました。 私はxmlファイルを作成し、インフレータを使用しなければなりませんでした。 setHeightメソッド作品やないにsetWidthは永遠に謎のままになる理由は...(HTTPS [アンドロイドで警告ボックスに動的にボタンを追加する方法]のとにかくあなたの助けのための

感謝の