2017-09-18 114 views
0

我試圖在Android Studio上製作應用程序。我有2個按鈕。一個加號和一個減號。我需要知道如何在每次點擊其中一個按鈕時使文本變得越來越小。使文字變得越來越小

這是我MainActivity.java:

Button Min = (Button)findViewById(R.id.Min); 
    Min.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      TextView t = (TextView)findViewById(R.id.DeText); 
      t.setTextSize(-5); 
     } 
    }); 

這是我的.xml:

<Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/Plus" 
     android:layout_gravity="top|left" 
     android:text="+" 
     android:textSize="50dp"/> 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/Min" 
     android:layout_gravity="top|right" 
     android:text="-" 
     android:textSize="50dp"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:textSize="50dp" 
     android:id="@+id/DeText" 
     android:text="Text"/> 

我使我的工作頁面的截圖。但願這給我的最終產品的一些詳細信息:

enter image description here

回答

0

對於文本大小,您應該使用sp而不是dp。從documentation,您可以使用setTextSize方法,它包含兩個參數。

無效setTextSize(INT單元, 浮動大小)

所以,你可以指定按鈕,點擊後作爲文字大小:

Button button = (Button)findViewById(R.id.buttonId); 
button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     TextView text = (TextView)findViewById(R.id.DeText); 
     text.setTextSize(TypedValue.COMPLEX_UNIT_SP,text.getTextSize()-1); 
    } 
}); 
+0

您必須在'onCreate'方法中包含此代碼。 –

+0

這工作,非常感謝:) –

1

您只需通過獲取電流的大小與加法/減法你想要的值設置文字大小。

Button minButton = (Button)findViewById(R.id.Min); 
    minButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      TextView t = (TextView)findViewById(R.id.DeText); 
      t.setTextSize(COMPLEX_UNIT_PX, t.getTextSize() - 5f); 
     } 
    }); 

最好在減小尺寸之前檢查當前的文字大小是否不太小。

+0

並且怎麼樣使它更小? –

+0

嘗試使用' - 5f'以及'+ 5f'更新答案。 –