2014-05-21 6 views
0

사각형 버튼을 만들려고합니다. 단추의 높이를 높이면 사라집니다. 그러나 너비를 늘리면 모든 것이 잘됩니다. 거기 무슨 일 이죠?버튼의 높이를 올리면 버튼이 사라집니다.

private void adjustButtons() { 
     final Button trainerButton = (Button) findViewById(R.id.bu_vocabulary_start_trainer); 

     trainerButton.setOnClickListener(new Button.OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 
       ViewGroup.LayoutParams params = shareButton.getLayoutParams(); 
//    params.width++; // works fine 
       params.height++; // button disappears 
//    params.height = params.width; // what I acutually want to do 
       shareButton.setLayoutParams(params); 
      } 
     }); 

    } 

XML 파일

<LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dp" 
     android:layout_marginRight="10dp" 
     android:layout_marginTop="30dp" 
     android:orientation="horizontal" > 

     <Button 
      android:id="@+id/bu_vocabulary_start_trainer" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="@string/vocabulary_trainer" /> 

     <Button 
      android:id="@+id/bu_vocabulary_start_administration" 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:text="@string/vocabulary_administration" /> 
    </LinearLayout> 

답변

0

작동하지 않습니다 ++

높이, 모든

private void adjustButtons() { 
     final Button trainerButton = (Button) findViewById(R.id.bu_vocabulary_start_trainer); 

     trainerButton.setOnClickListener(new Button.OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 
       LinearLayout.LayoutParams params = shareButton.getLayoutParams(); 
//    params.width++; // works fine 
       params.height++; // button disappears 
//    params.height = params.width; // what I acutually want to do 
       shareButton.setLayoutParams(params); 
      } 
     }); 

    } 
+0

이 나를 위해 일한 :

당신이 무엇을 할 수 있는지,하지만 같은 것입니다. 그러나 루프에서 높이를 높이면 버튼이 사라집니다. – null

0

당신은 당신의 신장과 체중에 대한 DP 번호를 사용합니다. 이 시도 wrap_content

0

첫째, WRAP_CONTENTjust an integer value, which maps to -2입니다. 증가 시키면 -1로 바뀌며 MATCH_PARENT이됩니다.

지금 상황을 알 수 있습니까? LinearLayout 높이가 WRAP_CONTENT입니다. 이것은 "자녀를 키울만큼 커야한다"는 의미입니다. 자녀가 MATCH_PARENT으로 설정되면 "부모와 같은 크기로 만드십시오"라는 의미입니다. 이 상황은 부모 및 자식 모두 0 픽셀 높이로 해결됩니다. 따라서 그들은 사라진다.

params.height = shareButton.getHeight() + 1; 
+0

감사합니다. 나는 WRAP_CONTENT와 MATCH_PARENT가 단지 정수 값이라는 것을 몰랐다. – null

0

이 줄 수 있습니다 도움이 당신에게 ..

button.setLayoutParams (new LayoutParams(LayoutParams.WRAP_CONTENT, yourheight++); 
관련 문제