2016-04-21 111 views
0

嗨,大家好我是新的Android的東西,我有一個按鈕時顏色變化的問題,因爲當它改變按鈕增長了一下,我不知道爲什麼。我的按鈕點擊代碼如下。安卓按鈕更改顏色和增加尺寸

produzirbt.setBackgroundColor(Color.rgb(38, 198, 219)); 
Toast.makeText(getApplicationContext(), "Avaria iniciada.", Toast.LENGTH_SHORT).show(); 

的Xml

<Button 
      android:layout_width="150dp" 
      android:layout_height="100dp" 
      android:text="Pausa" 
      android:id="@+id/Pausa" 
      android:textSize="50px" 
      style="@style/Widget.AppCompat.Button.Colored" 
      android:layout_above="@+id/Avaria" 
      android:layout_toRightOf="@+id/terminaliniciado" 
      android:layout_toEndOf="@+id/terminaliniciado" /> 
+3

您可以張貼按鈕的XML – Haroon

+0

嘗試使用WRAP_CONTENT和刪除XML任何pading ..hope這有助於 – Haroon

+0

你的問題不是'機器人studio'有關。標籤已移除。 –

回答

0

爲了保持按鈕尺寸使用setColorFilter()方法。

你的情況:

produzirbt.getBackground().setColorFilter(ContextCompat.getColor(this, R.color.your_color), PorterDuff.Mode.SRC_ATOP); 
0

你的默認按鈕有一些xml文件definded一個backgrond。它包含背景色,角落半徑和填充。然後在java代碼中,您將此樣式更改爲純色,並且填充爲零。爲了防止大小改變,你應該用一種顏色來定義基礎背景。像這樣:

<Button 
     android:layout_width="150dp" 
     android:layout_height="100dp" 
     android:text="Pausa" 
     android:id="@+id/Pausa" 
     android:textSize="32sp" 
     android:background="@color/my_button_color" 
     android:layout_above="@+id/Avaria" 
     android:layout_toRightOf="@+id/terminaliniciado" 
     android:layout_toEndOf="@+id/terminaliniciado" /> 

同一時間使用按鈕的顏色是一個hacky方法。如the documentation所示,定義正常樣式會更好。