android滑動開關
㈠ Android如何隱藏底部虛擬按鍵
三星部分手機支持隱藏導航條功能(以三星Note8為例)。設置-顯示-導航條-顯示和隱藏按鈕-滑動開關。開啟後,在下方導航欄左側出現一個小圓點的按鈕,點擊此圖標可以隱藏導航欄。隱藏後,您可以通過從屏幕底部向上滑動來使用導航按鈕。
溫馨提示:導航欄在某些屏幕上將始終顯示,無法隱藏。如:主屏幕、相機、微信、QQ和支付寶等。
㈡ 安卓手機怎樣怎樣截屏快捷鍵
以華為P40手機為例:
1. 指關節截取屏幕
(1)進入設置 > 輔助功能 > 快捷啟動及手勢 > 截屏,確保指關節截屏開關已開啟。
(2)用單指指關節稍微用力並連續快速雙擊屏幕,截取完整屏幕。
2. 使用組合鍵截取屏幕
同時按下電源鍵和音量下鍵截取完整屏幕。
3. 使用隔空手勢截取屏幕
(1)進入設置 > 輔助功能 > 快捷啟動及手勢 > 隔空手勢,確保隔空截屏開關已開啟。
(2)將手掌朝向屏幕,放在在距離屏幕半臂的位置稍作停頓,待屏幕上方出現小手圖標後,握拳截屏。
4. 使用快捷開關截取屏幕
從屏幕頂部狀態欄下滑出通知面板,繼續向下滑出整個菜單,點剪刀圖標截取完整屏幕。
5. 分享、編輯或繼續滾動截長圖
截屏完成後, 左下角會出現縮略圖。您可以:
(1)向下滑動縮略圖,可以繼續滾動截長屏。
(2)向上滑動縮略圖,選擇一種分享方式,快速將截圖分享給好友。
(3)點擊縮略圖,可以編輯、刪除截屏。
截屏圖片默認保存在圖庫中。
6. 使用指關節手勢滾動截長圖
(1)單指指關節敲擊屏幕並保持指關節不離開屏幕,稍微用力畫「S」,屏幕將自動向下滾動截屏。
(2)滾動過程中,點擊滾動區域可停止截屏。
㈢ 如何解決 Android 手機收不到消息提醒
若手機接收簡訊時沒有信息提示音,建議您:
1.檢查手機是否處於靜音或振動狀態。
2.設置手機通知音量:設置-聲音和通知(聲音)-音量-通知,將通知音量調大。
3.若接收信息依然沒有提示音,請檢查簡訊提示音是否設置為靜音。操作:信息-更多-設置-通知-滑動開關-提示音-選擇鈴聲(註:不同型號操作路徑可能不同。)
4.更換內置的系統鈴聲嘗試。
5.若無效,更新手機系統版本嘗試:設置-關於手機(關於設備)-手動下載更新/自動下載更新(軟體更新/系統更新-更新)。註:升級前請備份設備中數據。
6.若已是最新版本,請備份手機中數據然後恢復出廠設置嘗試。
若問題依然存在,請您攜帶購機發票、包修卡和機器送到三星服務中心,由專業的售後工程師幫助檢測。
㈣ android實現手機屏幕不斷閃爍功能
目前大陸地區上市的手機支持跑馬燈功能的型號包括:S9、S9+、Note8、S8和S8+五款機器。設置 音樂跑馬燈功能:設置-顯示-曲面側屏-側屏閃光-滑動開關,使用自帶【三星音樂】播放音樂時出現側屏閃光效果。
【提示】手機僅在音樂播放器界面支持跑馬燈功能,在其它界面或鎖屏時不支持。
㈤ android怎樣實現自動開關機
三星部分手機支持定時開關機功能,操作:
1.設置-備份與重置-自動開/關機,分別滑動開啟「自動開機」和「自動關機」-然後設置自動開機/關機的「時間」及「天數」即可。
2.部分早期上市的C網手機:設定-關於手機-自動電源開/關-打鉤即可。
3.若您的機器不支持定時開關機,但支持關機鬧鍾,設置關機鬧鍾後,當鬧鍾響鈴前一分鍾手機會自動開機。
溫馨提示:不同型號手機操作方式可能略有不同。
㈥ android action cancel 何時觸發
對於這個問題,android文檔的說明很簡短,想看明白很難。國外一網頁說的還比較詳細,寫在這里分享給大家:
原文是這樣的:
You receive this when a parent takes possession of the motion, for example when the user has dragged enough across a list view or scroll view that it will start scrolling instead of letting you press the buttons inside of it.
意思是這樣的:
當你的手指(或者其它)移動屏幕的時候會觸發這個事件,比如當你的手指在屏幕上拖動一個listView或者一個ScrollView而不是去按上面的按鈕時會觸發這個事件。
在設計設置頁面的滑動開關時,如果不監聽ACTION_CANCEL,在滑動到中間時,如果你手指上下移動,就是移動到開關控制項之外,則此時會觸發ACTION_CANCEL,而不是ACTION_UP,造成開關的按鈕停頓在中間位置。
意思就是,當用戶保持按下操作,並從你的控制項轉移到外層控制項時,會觸發ACTION_CANCEL,建議進行處理~
當前的手勢被中斷,不會再接收到關於它的記錄。
推薦將這個事件作為 ACTION_UP 來看待,但是要區別於普通的 ACTION_UP
話說回來,平常還真碰不到這個事件,習慣上就直接當 ACTION_UP 處理了就
㈦ android progressbar可以添加滑塊嗎
android滑動開關按鈕實現方式有非常多,android 4.0以後自帶switchButton這個開關控制項了。這里也有多種實現的例子,源碼,可以直接使用了。
㈧ android滑動開關按鈕實現方式有幾種
關於Android中View控制項的分類可以分為以下幾類:
1. 文本類:
TextView、EditText、AutoCompleteTextView、MultAutoCompletTextView 、(TextSwitcher) 、(DigitalClock)
ExtractEditText、CheckedTextView、Chronometer
2.按鈕類:
Button、CheckBox、RadioButton(RadioGroup) 、ToggleButton 、(ImageButton ) CompoundButton
2. 縮放按鈕:
ZoomButton、ZoomControls
3. 圖片類:
ImageView、ZoomButton、ImageButton、(ImageSwitcher ) QuickContactBadge
4. 時間控制項:
DigitalClock、AnalogClock、TimePicker、DatePicker
5.進度顯示:
ProgressBar、AbsSeekBar、SeekBar、RatingBar(星星評分)
6.導航: TabHost、TabWidget。
7.視頻媒體:
VideView、MediaController
8.Dialog對話框
CharacherPickerDialog、AlertDialog、DatePickerDialog、ProgressDialog、TimePickerDialog
9. 布局類控制項:
AbsoluteLayout、LinearLayout、RadioGroup 、TableLayout、 TableRow、RelativeLayout、FrameLayout
10.需要適配器的布局類:
AdapterView、AbsListView、GridView、ListView、AbsSpinner、Gallery Spinner
11.滾動條: HorizontalScrollView、ScrollView
12.網頁: WebView
13.動畫: ViewAimator、ViewFilpper、ViewSwitcher、ImageSwitcher、TextSwitcher
㈨ android中的switch開關和ios中的不同,這樣就需要通過動畫來實現一個iphone開關了
做IOS開發的都知道,IOS提供了一個具有動態開關效果的UISwitch組件,這個組件很好用效果相對來說也很絢麗,當我們去點擊開關的時候有動畫效果,但遺憾的是Android上並沒有給我們提供類似的組件(聽說在Android4.0的版本上提供了具有動態效果的開關組件,不過我還沒有去看文檔),如果我們想實現類似的效果那該怎麼辦了呢?看來又得去自定義了。
公司的產品最近一直在做升級,主要做的就是把界面做的更絢麗更美觀給用戶更好的體驗(唉,顧客是上帝......),其中的設置功能中就有開關按鈕,原來的開關做的是兩幅圖片,通過點擊圖片來給開關設置不同的狀態圖片,但是這種效果很死板和程序的整體風格不太協調,於是就想著實現類似於IOS中的開關效果。
拿著筆在圖紙上畫了畫,我實現的原理也是採用了兩幅圖片,一個整體的背景圖:和一個小滑塊圖:,用小滑塊圖實現在背景圖上滑動,當小滑塊滑到左邊時恰好遮擋了開字,就是顯示的關了,同樣原理當小滑塊滑動到右側時恰好遮擋了關字也就是現實開了,滑動的實現主要用的就是TranslateAnimation類,如有對TranslateAnimation不太熟悉的,問問度娘,她那有關TranslateAnimation的解說多了去了,畢竟自己動手,豐衣食足嘛,(*^__^*) 嘻嘻……
好了,老規矩來看一下項目結構吧:
工程中switch_button.xml文件就是對應的SwitchButton的布局文件,內容不需要解釋,你一看就懂
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/switch_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/switch_bg">
<ImageView
android:id="@+id/switch_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/switch_btn" />
</LinearLayout>
SwitchButton的布局文件中根節點是個LinearLayout,把它的背景設置成了一個含有開關文字的圖片,里邊包含一個ImageView,這個ImageView就是用來在LinearLayout中進行滑動的。
其中自定義開關組件就是都在wedgit包下的SwitchButton,那麼趕緊來看一下SwitchButton的代碼吧
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
public class SwitchButton extends LinearLayout {
/**
* 開關圖片
*/
private LinearLayout switchParent;
/**
* 滑塊圖片
*/
private ImageView switchButton;
/**
* 按鈕狀態,默認關閉
*/
private boolean isOn = false;
/**
* 滑塊需要滑動的距離
*/
private int scrollDistance;
/**
* 開關按鈕監聽器
*/
private SwitchChangedListner listner;
public SwitchButton(Context context) {
super(context);
initWedgits(context);
}
public SwitchButton(Context context, AttributeSet attrs) {
super(context, attrs);
initWedgits(context);
}
/**
* 初始化組件
*
* @param context
* 上下文環境
*/
private void initWedgits(Context context) {
try {
View view = LayoutInflater.from(context).inflate(
R.layout.switch_button, this);
switchParent = (LinearLayout) view.findViewById(R.id.switch_parent);
switchButton = (ImageView) view.findViewById(R.id.switch_button);
addListeners();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 添加事件監聽器
*/
private void addListeners() {
try {
switchParent.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
isOn = !isOn;
scrollSwitch();
if (null != listner) {
// 開關開發或者關閉的回調方法
listner.switchChanged(getId(), isOn);
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 滑動開關
*/
private void scrollSwitch() {
// 獲取滑塊需要滑動的距離,滑動距離等於父組建的寬度減去滑塊的寬度
scrollDistance = switchParent.getWidth() - switchButton.getWidth();
// 初始化滑動事件
Animation animation = null;
if (isOn) {
animation = new TranslateAnimation(0, scrollDistance, 0, 0);
} else {
animation = new TranslateAnimation(scrollDistance, 0, 0, 0);
}
// 設置滑動時間
animation.setDuration(200);
// 滑動之後保持狀態
animation.setFillAfter(true);
// 開始滑動
switchButton.startAnimation(animation);
}
/**
* 獲取開關狀態
*
* @return 【true:打開】【false:關閉】
*/
public boolean isOn() {
return isOn;
}
/**
* 設置開關狀態
*
* @param isOn
* 開關狀態【true:打開】【false:關閉】
*/
public void setOn(boolean isOn) {
if (this.isOn == isOn) {
return;
}
this.isOn = isOn;
post(new Runnable() {
@Override
public void run() {
scrollSwitch();
}
});
}
/**
* 設置開關狀態監聽器
*
* @param listner
* 開關狀態監聽器
*/
public void setOnSwitchListner(SwitchChangedListner listner) {
this.listner = listner;
}
/**
* 開關狀態監聽器
*
* @author llew
*
*/
public interface SwitchChangedListner {
/**
* 開關狀態改變
*
* @param viewId
* 當前開關ID
* @param isOn
* 開關是否打開【true:打開】【false:關閉】
*/
public void switchChanged(Integer viewId, boolean isOn);
}
}