Layoutがクリックされたときの色を動的に変えるには?

317 views
Skip to first unread message

IK _O

unread,
Apr 9, 2016, 4:09:15 AM4/9/16
to 日本Androidの会
TableLayoutの要素としてLinearLayoutをソースで動的に複数つくり、その中にImageViewとTextViewを配置しています。

LinearLayoutがクリックされたときに、背景色を変更したいのですが、

ttp://y-anz-m.blogspot.com.au/2010/11/androidselector-item-color.html
こちらのサイトを参考に作ってみましたが、色が変わりませんでした。


javaのソース抜粋

    TableLayout tableLayout = (TableLayout)view.findViewById(R.id.table_layout);

TableRow tableRow = new TableRow(getActivity());
tableLayout.addView(tableRow);

 
    Drawable d = ContextCompat.getDrawable(getActivity(), R.drawable.on_click_selector);

LinearLayout linearLayout = new LinearLayout(getActivity());
linearLayout.setBackground(d);

tableRow.addView(linearLayout);


実際には linearLayoutの中にImageViewとTextViewが入っています。


on_click_selector
.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" >
<color android:color="#66000000" />
</item>
<item android:state_selected="false">
<color android:color="#33000000" />
</item>
</selector>



ひょっとするとlinearLayoutを保持しているLayoutに背景色が設定されているとうまくいかないかもしれません。
両方とも背景色が必要なのですが、どうしたらよいでしょうか?
Reply all
Reply to author
Forward
0 new messages