Android----- 改變圖示原有顏色 和 搜尋框
本部落格主要講以下兩點知識點
圖示改變顏色:Drawable的變色,讓Android也能有iOS那麼方便的圖片色調轉換,就像同一個圖示,但是有多個地方使用,並且顏色不一樣,就可以用這個方法了。
搜尋框: 一般是EditText實現,本文 實現 TextView圖片和文字居中,鍵盤搜尋。
來看看效果圖:
圖示改變顏色:第一個介面的左邊(二維碼)和右邊(更多)兩個實現,我放進去的圖片是黑色的,顯示出來是白色的。
搜尋框:第一個介面的圖片和文字居中,還可以設定間距,第二個見面搜尋設定鍵盤搜尋按鈕,點選搜尋監聽事件,清除內容的圖示。
搜尋框佈局:
<!-- 搜尋圖示設定 左邊 android:drawableLeft="@mipmap/icon_search" android:drawablePadding="5dp" 圖示和文字的間距 右邊 android:drawableRight="@mipmap/round_close" android:paddingRight="8dp" android:imeOptions="actionSearch" 設定成搜尋按鈕 --> <EditText android:id="@+id/search_text" android:layout_width="0dp" android:layout_weight="1" android:layout_height="30dp" android:hint="輸入要搜尋的商品" android:background="@drawable/search_gray" android:layout_marginTop="10dp" android:layout_marginLeft="9dp" android:textSize="12sp" android:drawableLeft="@mipmap/icon_search" android:paddingLeft="9dp" android:drawablePadding="5dp" android:drawableRight="@mipmap/round_close" android:paddingRight="8dp" android:imeOptions="actionSearch" android:maxLines="1" android:singleLine="true" />
鍵盤監聽:
searchText.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if ((actionId == 0 || actionId == 3) && event != null) { //提示搜尋內容 Toast.makeText(SearchActivity.this,searchText.getText().toString(),Toast.LENGTH_LONG).show(); //可以跳轉搜尋頁面 /* Intent intent= new Intent(SearchActivity.this,SearchWebViewActivity.class); intent.putExtra("model",model); intent.putExtra("search",searchText.getText().toString()); startActivity(intent); finish();*/ } return false; } });
首頁佈局:
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorPrimary" android:minHeight="45dp" android:orientation="horizontal" android:gravity="center_vertical" > <ImageButton android:id="@+id/home_left_scan" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingRight="19dp" android:paddingTop="3dp" android:paddingBottom="3dp" android:paddingLeft="11dp" android:layout_centerVertical="true" android:background="#00000000" /> <com.zhangqie.searchbox.view.DrawableTextView android:id="@+id/home_search" android:layout_width="match_parent" android:layout_height="28dp" android:layout_weight="1" android:background="@drawable/search_view_background" android:gravity="center_vertical" android:maxLines="1" android:text="輸入搜尋相關內容" android:drawableLeft="@mipmap/icon_search" android:textSize="12sp" android:drawablePadding="11dp" /> <ImageButton android:id="@+id/home_right_more" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_alignParentRight="true" android:paddingRight="15dp" android:paddingTop="3dp" android:paddingBottom="3dp" android:paddingLeft="15dp" android:background="#00000000" /> </LinearLayout>
自定義DrawableTextView:(文字圖示居中)
public class DrawableTextView extends TextView {
public DrawableTextView(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
}
public DrawableTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public DrawableTextView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
Drawable[] drawables = getCompoundDrawables();
// 得到drawableLeft設定的drawable物件
Drawable leftDrawable = drawables[0];
if (leftDrawable != null) {
// 得到leftDrawable的寬度
int leftDrawableWidth = leftDrawable.getIntrinsicWidth();
// 得到drawable與text之間的間距
int drawablePadding = getCompoundDrawablePadding();
// 得到文字的寬度
int textWidth = (int) getPaint().measureText(getText().toString().trim());
int bodyWidth = leftDrawableWidth + drawablePadding + textWidth;
canvas.save();
canvas.translate((getWidth() - bodyWidth) / 2, 0);
}
super.onDraw(canvas);
}
}
看似簡單的效果,其實還是不簡單的;加油吧! 有問題可以掃頭像加新建立的群@我
相關推薦
Android----- 改變圖示原有顏色 和 搜尋框
本部落格主要講以下兩點知識點 圖示改變顏色:Drawable的變色,讓Android也能有iOS那麼方便的圖片色調轉換,就像同一個圖示,但是有多個地方使用,並且顏色不一樣,就可以用這個方法了。 搜尋框: 一般是EditText實現,本文 實現 TextView圖片和文字居中
Android----- 改變圖標原有顏色 和 搜索框
geb 跳轉 single zha height string -1 actions super 本博客主要講以下兩點知識點 圖標改變顏色:Drawable的變色,讓Android也能有iOS那麽方便的圖片色調轉換,就像同一個圖標,但是有多個地方使用,並且顏色不一樣,就可以
關於android自定義字型顏色和點選改變字型顏色
先看效果圖 上面的為點選按下的效果圖 上面的為預設的(鬆開按鈕)的效果圖 首先我們先在values資料夾下新建一個color.xml檔案 這檔案就是配置我們要使用的顏色 程式碼如下 <?xml version="1.0" encoding
Android自定義View——自定義搜尋框(SearchView) 非常實用的控制元件
好多東西寫起來太麻煩了,而且我在最開始用的也不是自己寫的,所以找了一個非常棒的測試了一下. 轉載的 在 Android開發中,當系統資料項比較多時,常常會在app新增搜尋功能,方便使用者能快速獲得需要的資料。搜尋欄對於我們並不陌生,在許多app都能見到它,比如豌
recycleview瀑布和搜尋框
在drawable建立shape <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:s
iOS UITableView加索引條和搜尋框Demo
#import "MainViewController.h" @implementation MainViewController { //資料來源陣列 NSMutableArray*_dataArray; //搜尋結果陣列 NSMutab
Android改變狀態列顏色導航不變
(1) 在你的activity oncreate 中新增 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); if (Build.VERSION.SDK_INT >=
android 改變游標的顏色及樣式
<EditText android:id="@+id/find_edit" android:layout_width="wrap_content"
Android改變狀態列顏色及沉浸式模式的封裝
talk is cheap,show me your code. /** * Author: zhangbo * Data:2018/9/7 * TODO: */ public class StatusBarUtil { /** *
實現listview條目點選後改變item背景顏色和字型顏色並保留
先上效果圖。 其實實現是很簡單的在item的佈局中設定背景顏色選擇器,當item被選中時就會改變背景顏色 字型顏色在listview的adapter這種進行設定,定義標記記錄當前被點選的item
MFC List Control控制元件改變Item的顏色和背景色
https://msdn.microsoft.com/zh-cn/library/ms364048(v=vs.80).aspx http://blog.csdn.net/leixiaohua1020/article/details/12619341http://www.j
android spinner 修改字型顏色和大小
class TextApapter extends ArrayAdapter{ private Context mContext; private String [] mStringArray; public TextApap
android 改變狀態列字型顏色和圖示顏色和沉浸式
設定沉浸式狀態列protected boolean useThemestatusBarColor = false;//是否使用特殊的標題欄背景顏色,android5.0以上可以設定狀態列背景色,如果不使用則使用透明色值 protected boolean useSta
Android搜尋框的關鍵字高亮變色(解決部分產生顏色無效問題)
目前在很多App裡面都有搜尋的功能,搜尋的結果列表要與輸入的文字對應高亮,也就是關鍵字顯示高亮,關鍵字顯示相應的顏色,這樣會使app體驗更好。在此我從網上各種搜尋資料,目前參考別人大神的思路和寫法,模仿與總結一個工具和自定義TextView。 第一種方式:也是比較方便的一種
Android點選文字編輯進行縮放、移動和改變字型、顏色的實現
實現效果如下: 需求功能點包含: 1:介面的文字為動態新增; 2:點選介面中的文字,開啟編輯模式:可編輯文字內容,可設定字型顏色,字型型別,粗體及對齊等; 3:點選刪除從介面上清除文字塊; 4:拖動編輯模式下的文字塊的四個錨點,可以按文字中心位置縮放,同時工具欄跟隨文字
android:修改PagerTabStrip中的背景顏色,標題字型的樣式、顏色和圖示以及指示條的顏色
1.修改PagerTabStrip中的背景顏色 我們在佈局中直接設定background屬性即可: <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="fill_parent" andro
Android 搜尋框:SearchView 的屬性和用法詳解
SearchView簡介 SearchView是Android原生的搜尋框控制元件,它提供了一個使用者介面,用於使用者搜尋查詢。 SearchView預設是展示一個search的icon,
Android定製控制元件:帶圖示的TextView和可編輯文字框(附專案原始碼)
各位朋友,博主向大家問好啦! 初次見面,多多關照。 博主正在學習移動開發,今天老師教授的是定製控制元件:帶圖示的TextView, 然後課後依葫蘆畫瓢,博主定製了一個帶圖示的可編輯文字框,其實原理都一樣! 博主覺得該課題具有可鑑意義,特此分享給大家,幫助入門級開發人員,大蝦
iconfont的使用,阿里向量相簿的引用,配置,改變圖示大小和圖示顏色
怎麼使用iconfont首先找到自己想要的圖示,新增到購物車如果你只要一個圖示的話,或者確保之後這個專案不需要其他的圖示的話,可以直接選擇下載程式碼,但是你有多個圖示的話,最好選擇新增至專案無論是新增專案還是直接下載程式碼,下載之後會有一個download.zip包,解壓之後
Android 中隨焦點動態改變Seekbar 的Progress 顏色和滑塊的顏色
----前言 最近做的一個專案中有個需求是Recyclerview 的seekbar item 在獲取到焦點後要改變seekbar 的進度條的顏色。這個小小的需求卻耗費了一下午的時間,本來都快查到對progressDrawable進行層次設定,最後覺得不行和老