2012-06-30 3 views
1

의 layout_marginRight를 설정하는 방법은 textview 레이아웃이며 layout_marginRight를 코드에서 0으로 수정하고 싶습니다.안드로이드에서 아래 코드

<TextView 
       android:id="@+id/status1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="right" 
       android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin" 
       android:singleLine="true" 
       android:ellipsize="marquee" 
       android:textAppearance="?android:attr/textAppearanceMedium" 
       android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" 
       android:drawablePadding="4dip" 
/> 

아래와 같이 코드에 aqif 코드를 복사하면 전원 켜기 애니메이션이 중단됩니다.

private void updateStatus1() { 
     if (mStatus1View != null) { 
      MutableInt icon = new MutableInt(0); 
      CharSequence string = getPriorityTextMessage(icon); 
      mStatus1View.setText(string); 
      LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) mStatus1View.getLayoutParams(); 
      params.rightMargin = 0; 
      mStatus1View.setLayoutParams(params); 

      mStatus1View.setCompoundDrawablesWithIntrinsicBounds(icon.value, 0, 0, 0); 
      mStatus1View.setVisibility(mShowingStatus ? View.VISIBLE : View.INVISIBLE); 
     } 
    } 
+0

당신이 말한, "애니메이션에 전력에서 전화 정지." 응용 프로그램이 무엇입니까, 전화가 시작될 때 코드가 실행되는 방식은 무엇입니까? –

답변

7

이렇게하면됩니다.

LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) view.getLayoutParams(); 
params.rightMargin = 30; 
view.setLayoutParams(params); 

값을 dp으로 설정하면 다음과 같이 할 수 있습니다.

params.rightMargin = (int) (30f * this.getResources().getDisplayMetrics().density); 

및보기의 부모가 LinearLayout 당신의 PARAMS이 LinearLayout.LayoutParams 유형이어야하고, RelativeLayout의 경우에, 당신의 PARAMS이 RelativeLayout.LayoutParams 유형이어야합니다 PARAMS의 유형은 부모에 따라 달라집니다. ViewGroup.MarginLayoutParams.rightMargin를 사용하여 같은

관련, Aqif 하미드

0

시도 :

TextView extView tv = (TextView)findViewById(R.id.status1); 
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)tv.getLayoutParams(); 
//params.setMargins(0, 0, 0, 0); //setMargins(int left, int top, int right, int bottom) 
params.rightMargin=0; 
tv.setLayoutParams(params); 
관련 문제