Android開發(fā)仿咸魚鍵盤DEMO(修改版)
在這里布局我就不貼出來了
/**
* 最終被調(diào)用的修改價格dialog
*/
protected void editPriceDialog() {
// TODO Auto-generated method stub
editPriceView = View.inflate(this, R.layout.dialog_price_input_keyboard, null);
priceDialog = new Dialog(this, R.style.contactdialog);
priceDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
Window PriceDialogwindow = priceDialog.getWindow();
PriceDialogwindow.setGravity(Gravity.BOTTOM);
priceDialog.setContentView(editPriceView);
priceDialog.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation;
priceDialog.show();
tv_softkb_point = (TextView) editPriceView.findViewById(R.id.tv_softkb_point);
buffer = new StringBuffer();
stringbuffer = buffer.toString();
buffer2 = new StringBuffer();
stringbuffer2 = buffer2.toString();
etGoodsPrice = (EditText) editPriceView.findViewById(R.id.et_goodsPrice);
etGoodsPrice.addTextChangedListener(new TextWatcher() {
private String etPricetrim;
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
etPricetrim = s.toString().trim();
if (etPricetrim.length() == 1 && s.toString().equals(".")) { //如果edittext的長度為1并且用戶只輸入了一個.那么buffer里追加"0" + "." 同時刪除我們輸入的點(diǎn)
//如果不刪除的在則 buffer里的數(shù)據(jù)會是 .0.
buffer.append("0").append(".").deleteCharAt(0);
etGoodsPrice.setText(buffer.toString());
}
if (s.toString().contains(".")) { //如果s里包含點(diǎn)
if (s.length() - 1 - s.toString().indexOf(".") > 2) {
if(tv_softkb_point!=null){
tv_softkb_point.setClickable(false);
}
if(buffer!=null&&buffer.length()>=1){
buffer.deleteCharAt(buffer.length()-1);
}
s = s.toString().subSequence(0, s.toString().indexOf(".") + 3);
etGoodsPrice.setText(s);
etGoodsPrice.setSelection(s.length());
}
else if(s.length()-1-s.toString().indexOf(".")<=2){
if(tv_softkb_point!=null){
tv_softkb_point.setClickable(false);
}
}
}
else {
if(tv_softkb_point!=null) {
tv_softkb_point.setClickable(true);
tv_softkb_point.setEnabled(true);
}
}
if (s.toString().startsWith("0") && s.toString().trim().length() > 1) { //如果以0開頭長度大于1 第二個元素不是.
if (!s.toString().substring(1, 2).equals(".")) {
buffer.deleteCharAt(1);
etGoodsPrice.setText(s.subSequence(0, 1));
etGoodsPrice.setSelection(1);
return;
}
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
int length = etPricetrim.length();
if (length >=1) {
etGoodsPrice.setSelection(length);
} else {
etGoodsPrice.setSelection(0);
}
// Toast.makeText(PostIssueActivity.this,s.toString(), 0).show();
if(s.toString()!=null&&s.toString().contains(".")){ //通過s取出當(dāng)前editext上的傳 來判斷是否包含. 如果包含的話則把 clickbale設(shè)置成false同時置為不可點(diǎn)擊
if(tv_softkb_point!=null) {
tv_softkb_point.setClickable(false);
tv_softkb_point.setEnabled(false);
}
}
// if(s.toString().length()==1&&s.toString().equals("0")) { //如果長度是1 并且是以0開頭 這個時候光標(biāo)是定位在0后 則刪除buffer
// //里的第一個char 并設(shè)置
//
//// buffer.deleteCharAt(0);
//// etGoodsPrice.setText(buffer.toString());
//
// }
}
});
if (!iPriceEdit.getText().toString().substring(1, iPriceEdit.getText().length()).toString().equals("0.00")) {
etGoodsPrice
.setText(iPriceEdit.getText().toString().substring(1, iPriceEdit.getText().length()).toString());
etGoodsPrice.setSelection(etGoodsPrice.length());
buffer.append(iPriceEdit.getText().toString().substring(1, iPriceEdit.getText().length()).toString());
} else {
etGoodsPrice.setText("");
etGoodsPrice.setHint("0.00");
buffer.append("");
}
etOriginalPrice = (EditText) editPriceView.findViewById(R.id.et_originalPrice);
etOriginalPrice.addTextChangedListener(new TextWatcher() {
private String trim;
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
trim = s.toString().trim();
if (etOriginalPrice.length() == 1 && s.toString().equals(".")) {
buffer2.append("0").append(".").deleteCharAt(0);
etOriginalPrice.setText(buffer2.toString());
}
if (s.toString().contains(".")) {
if (s.length() - 1 - s.toString().indexOf(".") > 2) {
if(tv_softkb_point!=null){
tv_softkb_point.setClickable(false);
}
if(buffer2!=null&&buffer2.length()>=1){
buffer2.deleteCharAt(buffer2.length()-1);
}
s = s.toString().subSequence(0, s.toString().indexOf(".") + 3);
etOriginalPrice.setText(s);
etOriginalPrice.setSelection(s.length());
}
else if(s.length()-1-s.toString().indexOf(".")<=2){
if(tv_softkb_point!=null){
tv_softkb_point.setClickable(false);
}
}
}
else {
if(tv_softkb_point!=null) {
tv_softkb_point.setClickable(true);
tv_softkb_point.setEnabled(true);
}
}
if (s.toString().startsWith("0") && s.toString().trim().length() > 1) {
if (!s.toString().substring(1, 2).equals(".")) {
buffer2.deleteCharAt(1);
etOriginalPrice.setText(s.subSequence(0, 1));
etOriginalPrice.setSelection(1);
return;
}
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
int length = trim.length();
if (length >=1) {
etOriginalPrice.setSelection(length);
} else {
etOriginalPrice.setSelection(0);
}
if(s.toString()!=null&&s.toString().contains(".")){
if(tv_softkb_point!=null) {
tv_softkb_point.setClickable(false);
tv_softkb_point.setEnabled(false);
}
}
// if(s.toString().length()==1&&s.toString().equals("0")) { //如果長度是1 并且是以0開頭 這個時候光標(biāo)是定位在0后 則刪除buffer
// //里的第一個char 并設(shè)置
//
// buffer2.deleteCharAt(0);
// etOriginalPrice.setText(buffer2.toString());
//
// }
}
});
etOriginalPrice.setSelection(etOriginalPrice.length());
if (!iOldPriceEdit.getText().subSequence(1, iOldPriceEdit.getText().length()).toString().equals("0.00")) {
etOriginalPrice
.setText(iOldPriceEdit.getText().subSequence(1, iOldPriceEdit.getText().length()).toString());
buffer2.append(iOldPriceEdit.getText().subSequence(1, iOldPriceEdit.getText().length()).toString());
} else {
etOriginalPrice.setText("");
etOriginalPrice.setHint("0.00");
buffer2.append("");
}
// etOriginalPrice.requestFocus();
// etOriginalPrice.setSelection(etGoodsPrice.getText().length());
ImageView tv_softkb_hiddenkb = (ImageView) editPriceView.findViewById(R.id.tv_softkb_hiddenkb);
ImageView ivDelete = (ImageView) editPriceView.findViewById(R.id.iv_delete);
ivDelete.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Toast.makeText(PostIssueActivity.this, "dddd", 0).show();
delNumber();
}
});
// 長按刪除鍵 事件
ivDelete.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
if (etGoodsPrice.hasFocus()) {
buffer.delete(0, etGoodsPrice.getText().length());
// if(etGoodsPrice.getText().length()>=1){
// buffer.deleteCharAt(etGoodsPrice.getText().length()-1);
// }
stringbuffer = buffer.toString();
etGoodsPrice.setText(stringbuffer.substring(0, stringbuffer.length()));
}
if (etOriginalPrice.hasFocus()) {
buffer2.delete(0, etOriginalPrice.getText().length());
// if(etOriginalPrice.getText().length()>=1){
// buffer2.deleteCharAt(etOriginalPrice.getText().length()-1);
// }
stringbuffer2 = buffer2.toString();
etOriginalPrice.setText(stringbuffer2.substring(0, stringbuffer2.length()));
}
return false;
}
});
setNumber(buffer, buffer2, etGoodsPrice, etOriginalPrice);
tv_softkb_hiddenkb.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
editPriceView.clearAnimation();
priceDialog.cancel();
}
});
TextView confirmKB = (TextView) editPriceView.findViewById(R.id.tv_confirmKB);
hiddenSoftKB(etGoodsPrice, etOriginalPrice);
confirmKB.setOnClickListener(new OnClickListener() {
@SuppressLint("NewApi")
@Override
public void onClick(View v) {
// iPriceEdit
// iOldPriceEdit
if (buffer != null) {
// iPriceEdit.setText("¥"+buffer.toString());
iPriceEdit.setText("¥" + etGoodsPrice.getText().toString());
if (etGoodsPrice.getText().toString().equals("")) {
iPriceEdit.setText("¥" + "0.00");
}
}
if (buffer2 != null) {
// iOldPriceEdit.setText("¥"+buffer2.toString());
iOldPriceEdit.setText("¥" + etOriginalPrice.getText().toString());
if (etOriginalPrice.getText().toString().equals("")) {
iOldPriceEdit.setText("¥" + "0.00");
}
}
if(etGoodsPrice.getText().toString().equals("")){
etGoodsPrice.setText("0.00");
}
if(etOriginalPrice.getText().toString().equals("")){
etOriginalPrice.setText("0.00");
}
if(Double.valueOf(etGoodsPrice.getText().toString())>Double.valueOf(etOriginalPrice.getText().toString())) {
// Toast.makeText(PostIssueActivity.this, "售價高于原價,是否確認(rèn)?", 0).show();
PublicDialog PriceIsMaxDialog = PublicDialog.createDialog(PostIssueActivity.this, new DialogBtnClickListener() {
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.public_dialog_cancel:
editPriceView.clearAnimation();
priceDialog.cancel();
break;
case R.id.public_dialog_confirm:
editPriceView.clearAnimation();
priceDialog.cancel();
break;
default:
break;
}
}
});
Window dialogwindow = PriceIsMaxDialog.getWindow();
Display display = getWindowManager().getDefaultDisplay();
WindowManager.LayoutParams lp = dialogwindow.getAttributes();
lp.width = (int) (display.getWidth() * 0.99);
dialogwindow.setAttributes(lp);
PriceIsMaxDialog.show();
LinearLayout llPublic = (LinearLayout) PriceIsMaxDialog.findViewById(R.id.ll_public_dialog);
llPublic.setBackground(getResources().getDrawable(R.drawable.public_dialog_botom_corner_shape_wite));
PriceIsMaxDialog.onWindowFocusChanged(true);
// View splitling = PriceIsMaxDialog.findViewById(R.id.v_line);
// splitling.setBackgroundColor(color.color_eaeaea);
PriceIsMaxDialog.setLineColor(Color.parseColor("#E9E9EB"));
PriceIsMaxDialog.setTitle("提示");
PriceIsMaxDialog.setContent("出價高于原價,是否確認(rèn)?");
PriceIsMaxDialog.setTitleVisibility(true);
TextView contentView = PriceIsMaxDialog.getContentView();
contentView.setTextSize(16);
contentView.setGravity(Gravity.CENTER);
contentView.setPadding(0, 0, 0, 10);
android.view.ViewGroup.LayoutParams layout = contentView.getLayoutParams();
layout.width = lp.MATCH_PARENT;
layout.height = 120;
contentView.setLayoutParams(layout);
TextView publicdialogCancle = (TextView) PriceIsMaxDialog.findViewById(R.id.public_dialog_cancel);
publicdialogCancle.setText("否");
PriceIsMaxDialog.setCancelTextColor(Color.parseColor("#037BFE"));
// PriceIsMaxDialog.setCancelBackGround(Color.parseColor("#ffffff"));
// publicdialogCancle.setTextColor(color.app_green);
TextView publicdialogConfirm = (TextView) PriceIsMaxDialog.findViewById(R.id.public_dialog_confirm);
publicdialogConfirm.setText("是");
PriceIsMaxDialog.setConfirmTextColor(Color.parseColor("#037BFE"));
// PriceIsMaxDialog.setConfirmBackGround(Color.parseColor("#ffffff"));
// publicdialogConfirm.setTextColor(color.app_green);
// publicdialogConfirm.setBackground(getResources().getDrawable(R.drawable.coners_save_bg));
PriceIsMaxDialog.findViewById(R.id.vv_hor).setVisibility(View.VISIBLE);
}
editPriceView.clearAnimation();
priceDialog.cancel();
}
});
}
/**
* 刪除輸入的金額
*/
protected void delNumber() {
if (etGoodsPrice.hasFocus()) {
// buffer.delete(0, etGoodsPrice.getText().length());
if (etGoodsPrice.getText().length() >= 1) {
buffer.deleteCharAt(etGoodsPrice.getText().length() - 1);
// buffer.deleteCharAt(etGoodsPrice.getText().length());
}
stringbuffer = buffer.toString();
etGoodsPrice.setText(stringbuffer.substring(0, stringbuffer.length()));
etGoodsPrice.setSelection(etGoodsPrice.length());
}
if (etOriginalPrice.hasFocus()) {
// buffer2.delete(0,etOriginalPrice.getText().length());
if (etOriginalPrice.getText().length() >= 1) {
buffer2.deleteCharAt(etOriginalPrice.getText().length() - 1);
// buffer2.deleteCharAt(etOriginalPrice.getText().length());
}
stringbuffer2 = buffer2.toString();
etOriginalPrice.setText(stringbuffer2.substring(0, stringbuffer2.length()));
etOriginalPrice.setSelection(etOriginalPrice.length());
}
}
/**
* 輸入金額
*
* @param buffer
* @param buffer2
* @param etGoodsPrice
* @param etOriginalPrice
*/
private void setNumber(final StringBuffer buffer, final StringBuffer buffer2, final EditText etGoodsPrice,
final EditText etOriginalPrice) {
TextView tv_softkb_1 = (TextView) editPriceView.findViewById(R.id.tv_softkb_1);
tv_softkb_1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (etGoodsPrice.hasFocus()) {
buffer.append("1");
etGoodsPrice.setText(buffer.toString());
}
if (etOriginalPrice.hasFocus()) {
buffer2.append("1");
etOriginalPrice.setText(buffer2.toString());
}
}
});
TextView tv_softkb_2 = (TextView) editPriceView.findViewById(R.id.tv_softkb_2);
tv_softkb_2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (etGoodsPrice.hasFocus()) {
buffer.append("2");
etGoodsPrice.setText(buffer.toString());
}
if (etOriginalPrice.hasFocus()) {
buffer2.append("2");
etOriginalPrice.setText(buffer2.toString());
}
}
});
TextView tv_softkb_3 = (TextView) editPriceView.findViewById(R.id.tv_softkb_3);
tv_softkb_3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (etGoodsPrice.hasFocus()) {
buffer.append("3");
etGoodsPrice.setText(buffer.toString());
}
if (etOriginalPrice.hasFocus()) {
buffer2.append("3");
etOriginalPrice.setText(buffer2.toString());
}
}
});
TextView tv_softkb_4 = (TextView) editPriceView.findViewById(R.id.tv_softkb_4);
tv_softkb_4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (etGoodsPrice.hasFocus()) {
buffer.append("4");
etGoodsPrice.setText(buffer.toString());
}
if (etOriginalPrice.hasFocus()) {
buffer2.append("4");
etOriginalPrice.setText(buffer2.toString());
}
}
});
TextView tv_softkb_5 = (TextView) editPriceView.findViewById(R.id.tv_softkb_5);
tv_softkb_5.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (etGoodsPrice.hasFocus()) {
buffer.append("5");
etGoodsPrice.setText(buffer.toString());
}
if (etOriginalPrice.hasFocus()) {
buffer2.append("5");
etOriginalPrice.setText(buffer2.toString());
}
}
});
TextView tv_softkb_6 = (TextView) editPriceView.findViewById(R.id.tv_softkb_6);
tv_softkb_6.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (etGoodsPrice.hasFocus()) {
buffer.append("6");
etGoodsPrice.setText(buffer.toString());
}
if (etOriginalPrice.hasFocus()) {
buffer2.append("6");
etOriginalPrice.setText(buffer2.toString());
}
}
});
TextView tv_softkb_7 = (TextView) editPriceView.findViewById(R.id.tv_softkb_7);
tv_softkb_7.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (etGoodsPrice.hasFocus()) {
buffer.append("7");
etGoodsPrice.setText(buffer.toString());
}
if (etOriginalPrice.hasFocus()) {
buffer2.append("7");
etOriginalPrice.setText(buffer2.toString());
}
}
});
TextView tv_softkb_8 = (TextView) editPriceView.findViewById(R.id.tv_softkb_8);
tv_softkb_8.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (etGoodsPrice.hasFocus()) {
buffer.append("8");
etGoodsPrice.setText(buffer.toString());
}
if (etOriginalPrice.hasFocus()) {
buffer2.append("8");
etOriginalPrice.setText(buffer2.toString());
}
}
});
TextView tv_softkb_9 = (TextView) editPriceView.findViewById(R.id.tv_softkb_9);
tv_softkb_9.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (etGoodsPrice.hasFocus()) {
buffer.append("9");
etGoodsPrice.setText(buffer.toString());
}
if (etOriginalPrice.hasFocus()) {
buffer2.append("9");
etOriginalPrice.setText(buffer2.toString());
}
}
});
TextView tv_softkb_0 = (TextView) editPriceView.findViewById(R.id.tv_softkb_0);
tv_softkb_0.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (etGoodsPrice.hasFocus()) {
buffer.append("0");
etGoodsPrice.setText(buffer.toString());
}
if (etOriginalPrice.hasFocus()) {
buffer2.append("0");
etOriginalPrice.setText(buffer2.toString());
}
}
});
tv_softkb_point.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (etGoodsPrice.hasFocus()) {
buffer.append(".");
etGoodsPrice.setText(buffer.toString());
}
if (etOriginalPrice.hasFocus()) {
buffer2.append(".");
etOriginalPrice.setText(buffer2.toString());
}
}
});
}
/**
* 使用edittext獲取焦點(diǎn)彈不出軟件鍵盤
*
* @param etGoodsPrice
* @param etOriginalPrice
*/
private void hiddenSoftKB(final EditText etGoodsPrice, final EditText etOriginalPrice) {
etGoodsPrice.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int inType = etGoodsPrice.getInputType(); // backup the input
// type
etGoodsPrice.setInputType(InputType.TYPE_NULL); // disable soft
// input
etGoodsPrice.onTouchEvent(event); // call native handler
etGoodsPrice.setInputType(inType); // restore input type
etGoodsPrice.setSelection(etGoodsPrice.getText().length());
return true;
}
});
etOriginalPrice.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int inType = etOriginalPrice.getInputType(); // backup the input
// type
etOriginalPrice.setInputType(InputType.TYPE_NULL); // disable
// soft
// input
etOriginalPrice.onTouchEvent(event); // call native handler
etOriginalPrice.setInputType(inType); // restore input type
etOriginalPrice.setSelection(etOriginalPrice.getText().length());
return true;
}
});
}
/**
* 輸入原價和價格dialog
*/
private void showMofityPrice() {
// TODO Auto-generated method stub
mofityPrice.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// iPriceEdit
// iOldPriceEdit
// iPriceEdit.setFocusable(true);
hiddenKeyboard();
editPriceDialog();
}
});
}
以上所述是小編給大家介紹的Android開發(fā)仿咸魚鍵盤修改版,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- Android的ImageButton當(dāng)顯示Drawable圖片時就不顯示文字
- Android自定義軟鍵盤的設(shè)計與實(shí)現(xiàn)代碼
- Android 自定義View時使用TypedArray配置樣式屬性詳細(xì)介紹
- Android ListView適配器(Adapter)優(yōu)化方法詳解
- 實(shí)現(xiàn)一個Android鎖屏App功能的難點(diǎn)總結(jié)
- Android 實(shí)現(xiàn)界面刷新的幾種方法
- Android控件RefreshableView實(shí)現(xiàn)下拉刷新
- Android 自定義控件實(shí)現(xiàn)顯示文字的功能
相關(guān)文章
Android實(shí)現(xiàn)帶附件的郵件發(fā)送功能
這篇文章主要介紹了Android實(shí)現(xiàn)帶附件的郵件發(fā)送功能的相關(guān)資料,android發(fā)送郵件有兩種方式,本文重點(diǎn)介紹基于JMail實(shí)現(xiàn)郵件發(fā)送功能,感興趣的小伙伴們可以參考一下2016-01-01
Android實(shí)戰(zhàn)教程第六篇之一鍵鎖屏應(yīng)用問題解決
這篇文章主要為大家詳細(xì)介紹了Android一鍵鎖屏應(yīng)用開發(fā)過程中出現(xiàn)問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11
Android自定義ViewGroup實(shí)現(xiàn)彈性滑動效果
這篇文章主要為大家詳細(xì)介紹了Android自定義ViewGroup實(shí)現(xiàn)彈性滑動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12
Android編程實(shí)現(xiàn)下載圖片及在手機(jī)中展示的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)下載圖片及在手機(jī)中展示的方法,涉及Android針對圖形文件的遠(yuǎn)程下載及遍歷顯示相關(guān)操作技巧,需要的朋友可以參考下2017-02-02
Flutter插件開發(fā)之HmsScanKit實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了Flutter插件開發(fā)之HmsScanKit實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Android ViewPager實(shí)現(xiàn)圖片輪播效果
這篇文章主要為大家詳細(xì)介紹了Android ViewPager實(shí)現(xiàn)圖片輪播效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09
詳解RxJava2 Retrofit2 網(wǎng)絡(luò)框架簡潔輕便封裝
本篇文章主要介紹了詳解RxJava2 Retrofit2 網(wǎng)絡(luò)框架簡潔輕便封裝,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12
listview 選中高亮顯示實(shí)現(xiàn)方法
當(dāng)點(diǎn)擊左側(cè)ListView后,選中的一行就會一直呈高亮狀態(tài)顯示,圖中選中行字的顏色顯示為藍(lán)色(注意:是選中行后一直高亮,而不是只是點(diǎn)擊時高亮),如果再次點(diǎn)擊另外的一行, 則新的那一行就高亮,下面就來實(shí)現(xiàn)這個高亮效果的顯示2012-11-11
Android自定義LinearLayout實(shí)現(xiàn)淘寶詳情頁
這篇文章主要為大家詳細(xì)介紹了Android自定義LinearLayout實(shí)現(xiàn)淘寶詳情頁的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09

