2016-10-25 11 views
0

を経由して追加し、私はこのように見て見る必要があります -Androidのカスタムボタン(XML)は、コード

<View 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/line" 
      android:background="#000000"></View> 

     <Button 
      android:id="@+id/button13" 
      android:layout_width="match_parent" 
      android:layout_height="@dimen/button_height" 
      android:background="@drawable/border" 
      android:drawableLeft="@mipmap/ic_launcher" 
      android:text="Button" /> 

私はJavaコードを使用して、私の活動にそれを追加したいが。 私は手動で

LinearLayout layout = (LinearLayout) findViewById(R.id.layout); 
    Button btn = new Button(this); 
    btn.setText("hello"); 

    int size = (int)getResources().getDimension(R.dimen.button_height); 

    View line = new View(this); 
    LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,(int)getResources().getDimension(R.dimen.line)); 
    line.setLayoutParams(lparams); 
    line.setBackgroundColor(Color.BLACK); 
    layout.addView(line); 


    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, size); 
    btn.setLayoutParams(params); 
    btn.setBackground(getResources().getDrawable(R.drawable.border)); 
    layout.addView(btn); 

をそれをやってみましたが、私はラインの高さとして0.1dp値を入力することはできません。どのようにJava上のアクティビティにxmlコードを追加できますか?

+0

これを確認してください。http://stackoverflow.com/questions/4605527/converting-pixels-to-dp – Farid

答えて

0

これを試してください。

linearLayout = (LinearLayout) findViewById(R.id.ll_parent); 
     Button btn = new Button(this); 
     btn.setText("hello"); 

     View line = new View(this); 
     LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,10); 
     line.setLayoutParams(lparams); 
     line.setBackgroundColor(Color.BLACK); 
     linearLayout.addView(line); 


     LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 120); 
     btn.setLayoutParams(params); 

     btn.setBackgroundColor(Color.GRAY); 
     linearLayout.addView(btn); 
関連する問題