2017-04-22 67 views
0

我有一個滾動視圖按鈕的列表,但是當我通過編程添加一些其他按鈕的風格是不同的,我不知道爲什麼。 正如我們在下一張圖片中看到的,添加的按鈕更加黑暗,當我點擊按鈕時,按鈕的背景變成藍色。 但我的默認按鈕是深灰色。爲什麼按鈕樣式改變時,我編程添加?

有捕獲:

enter image description here

按鈕 「6」 是XML按鈕來添加。另一個是以編程方式添加的。

有我的XML:

<RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/diese"> 


    <LinearLayout 
        android:orientation="vertical" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent"> 
     <ScrollView 
        android:id="@+id/scrollView" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:layout_marginBottom="50dp"> 

     <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@android:color/darker_gray" > 

      <TableLayout 
        android:id="@+id/tableLayout1" 
        android:layout_width="match_parent" 
        android:layout_height="700dp" > 

       <TableRow 
         android:layout_height="0dp" 
         android:layout_weight="1" > 

        <Button 
          android:id="@+id/one" 
          android:layout_width="0dp" 
          android:layout_height="fill_parent" 
          android:layout_weight="1" 
          android:gravity="center" 
          android:text="1" /> 
       </TableRow> 

有我的代碼添加按鈕:

TableLayout SV =(TableLayout)findViewById(R.id.tableLayout1);

TableLayout.LayoutParams layoutParams = new TableLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,2200,500); 

    sv.setLayoutParams(layoutParams); 

    View view = findViewById(R.id.diese); 

    Diese d1 = new Diese(1,"test"); 
    d1.addDieseToXml(sv,this); 
    Diese d2 = new Diese(2,"Coucou"); 
    d2.addDieseToXml(sv,this); 

Thx很多。上下文「this」引用我的ButtonActivity。

+0

也許按鈕.setActivated(真);或者出於某種原因,我更喜歡gridView以編程方式創建按鈕 – ORY

回答

0

你應該向我們展示你的風格文件和Diese類?我覺得這是一個風格問題。

但是,鑑於提供的信息,我幾乎可以確定「addDieseToXml」或Diese類本身定義了按鈕樣式,並且不會將該樣式應用於您的xml按鈕(如您所說,深灰色是顏色你自找的)。

因此,我建議你到一個風格應用到您的按鈕,

style="@style/YourStyle" 

直接在XML按鈕的代碼。

其他選項是通過改變你的主題,以這種風格應用到所有的活動按鈕(如果你想的話),加入

<item name="android:buttonStyle">@style/YourStyle</item> 
+0

我沒有爲按鈕定義樣式...我找不到線索我的問題>< – Valt

+0

您爲應用程序定義了基本主題嗎? – Feuby

+0

不,我沒有什麼特別的,當我在xml中添加一個按鈕。當他們被點擊時,他們是灰色和灰色的,當我通過編程添加他們時,他們是灰色的,但是當我點擊時他們是藍色的 – Valt

相關問題