我正在開發一個android word搜索應用程序,並且我已經動態地創建了一個tablelayout
和textviews
以保存每個字母。當用戶的手指滑過字母網格時,我想更改這些textviews
的背景顏色。如何更改textview背景在刷卡時的顏色?
這是表格的佈局代碼:
public void createGrid(char[][] input) {
RelativeLayout rl = (RelativeLayout)findViewById(R.id.rl);
TableLayout table = (TableLayout) findViewById(R.id.mainLayout);
table.setTag(1);
Typeface font = Typeface.createFromAsset(getAssets(), "kg.ttf");
int j;
for (int i = 0; i < input.length; i++) {
LinearLayout rowLayout = new LinearLayout(this);
rowLayout.setOrientation(LinearLayout.HORIZONTAL);
rowLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
final TableRow row = new TableRow(this);
row.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT));
row.setGravity(Gravity.CENTER_HORIZONTAL);
for (j = 0; j < input.length; j++) {
final TextView text = new TextView(this);
Character temp = input[i][j];
text.setTag(i);
text.setText(temp.toString());
text.setPadding(20, 20, 20, 20);
text.setTag(i);
text.setTextSize(txtSize);
text.setTypeface(font);
text.setGravity(Gravity.CENTER);
text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
view.setBackgroundColor(Color.parseColor("#c03768b7"));
((TextView)view).setTextColor(Color.WHITE);
}
});
row.addView(text);
row.getChildAt(j);
}
table.addView(row);
}
}
正如你所看到的,我分配OnClickListeners
每個TextViews
。但我想要一個無憂無慮的突出顯示,有沒有辦法改變,以刷卡,而不是點擊每個textviews
?
任何意見,答案和建議非常感謝。
編輯:
我試圖做的是改變字母的顏色文本作爲文本刷卡。
你想改變的文字字母的顏色與文本刷卡? – OBX
@Gboy ...請檢查答案,讓我知道情況 – Athul
@Superman - 是的。這就是我想要做的 – Gboy