當前位置:首頁 » 安卓系統 » android橫向滑動

android橫向滑動

發布時間: 2022-01-09 21:51:14

『壹』 android 手勢判斷是橫向滑動還是縱向 csdn

對於Android中的手勢識別可以從以下三個Listener入手——OnTouchListener、OnGestureListener、OnDoubleTapListener。這三個監聽器分別是觸摸監聽、手勢滑動監聽和屏幕雙擊操作監聽。很多的時候我們需要這些手勢識別的操作,例如我們自定義控制項的時候就經常會用到。下面就對這三個監聽器分別進行介紹。

觸摸監聽器OnTouchListener
讓我們的Activity去現實此介面,並重寫onTouch方法。重寫OnTouchListener的onTouch方法 此方法在觸摸屏被觸摸,即發生觸摸事件(接觸和撫摸兩個事件)的時候被調用。示範代碼如下:

@Override
public boolean onTouch(View v, MotionEvent event) {
detector.onTouchEvent(event);
Toast.makeText(this, "onTouch", TIME_OUT).show();
return true;
}

手勢滑動監聽器OnGestureListener
讓我們的Activity去現實此介面,並重寫onFling、onLongPress、onScroll、onDown、onShowPress、onSingleTapUp方法。示範代碼如下:

/**
* 手勢滑動時別調用
*/
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {

if (e1.getX() - e2.getX() > FLING_MIN_DISTANCE) {
Toast.makeText(this, "向左滑動", TIME_OUT).show();
} else if (e2.getX() - e1.getX() > FLING_MIN_DISTANCE) {
Toast.makeText(this, "向右滑動", TIME_OUT).show();
}
return false;
}

/**
* 長按時被調用
*/
@Override
public void onLongPress(MotionEvent e) {
Toast.makeText(this, "觸發長按回調", TIME_OUT).show();
}

/**
* 滾動時調用
*/
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
Toast.makeText(this, "觸發滾動回調", TIME_OUT).show();
return false;
}

/**
* 在按下動作時被調用
*/
@Override
public boolean onDown(MotionEvent e) {
Toast.makeText(this, "按下回調", TIME_OUT).show();
return false;
}

/**
* 按住時被調用
*/
@Override
public void onShowPress(MotionEvent e) {
Toast.makeText(this, "按住不松回調", TIME_OUT).show();
}

/**
* 抬起時被調用
*/
@Override
public boolean onSingleTapUp(MotionEvent e) {
Toast.makeText(this, "觸發抬起回調", TIME_OUT).show();
return false;
}

雙擊屏幕監聽器OnDoubleTapListener
讓我們的Activity去現實此介面,並重寫onDoubleTap、onDoubleTapEvent、onSingleTapConfirmed方法。示範代碼如下:

@Override
public boolean onDoubleTap(MotionEvent arg0) {
Toast.makeText(this, "觸發雙擊回調", TIME_OUT).show();
return false;
}

@Override
public boolean onDoubleTapEvent(MotionEvent arg0) {
Toast.makeText(this, "觸發雙擊的按下跟抬起回調", TIME_OUT).show();
return false;
}

@Override
public boolean onSingleTapConfirmed(MotionEvent arg0) {
Toast.makeText(this, "觸發單擊確認回調", TIME_OUT).show();
return false;
}

『貳』 安卓recyclerview怎麼實現橫向滑動

public class RecyclerActivity extends Activity {

private RecyclerView mRecyclerView;
private GalleryAdapter mAdapter;
private List<Integer> mDatas;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recycler);

initDatas();
//得到控制項
mRecyclerView = (RecyclerView) findViewById(R.id.id_recyclerview_horizontal);
//設置布局管理器
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
mRecyclerView.setLayoutManager(linearLayoutManager);
//設置適配器
mAdapter = new GalleryAdapter(this, mDatas);
mRecyclerView.setAdapter(mAdapter);
}

private void initDatas()
{
mDatas = new ArrayList<>(Arrays.asList(R.drawable.ic_launcher,
R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher,
R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher));
}

public class GalleryAdapter extends
RecyclerView.Adapter<GalleryAdapter.ViewHolder>
{
private LayoutInflater mInflater;
private List<Integer> mDatas;

public GalleryAdapter(Context context, List<Integer> datats)
{
mInflater = LayoutInflater.from(context);
mDatas = datats;
}

public class ViewHolder extends RecyclerView.ViewHolder
{
public ViewHolder(View arg0)
{
super(arg0);
}

ImageView mImg;
TextView mTxt;
}

@Override
public int getItemCount()
{
return mDatas.size();
}

/**
* 創建ViewHolder
*/
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i)
{
View view = mInflater.inflate(R.layout.activity_recycler_item,
viewGroup, false);
ViewHolder viewHolder = new ViewHolder(view);

viewHolder.mImg = (ImageView) view
.findViewById(R.id.id_index_gallery_item_image);
return viewHolder;
}

/**
* 設置值
*/
@Override
public void onBindViewHolder(final ViewHolder viewHolder, final int i)
{
viewHolder.mImg.setImageResource(mDatas.get(i));
}

}
}

『叄』 android HorizontalScrollView, 橫向滾動菜單,點擊項,控制移動的距離

有好多實現方法,簡單的就是用GridView(安卓自帶網格布局)或者HorizontalListView(自定義橫向list,網上有好多的)
再就是在activity中ScrollView自定義添加子View
還可以用ViewPager,TabHost

『肆』 android 橫向列表滑動的問題

@Override
public boolean dispatchTouch Event (MotionEvent ev) {

ViewParent parent =this;

while(!((parent = parent.getParent()) instanceof ViewPager))

;// 循環查找viewPager

parent.(true);

return super.dispatchTouchEvent(ev);

}

『伍』 android文字橫向滾動的自定義view

TextView實現文字滾動需要以下幾個要點: 1.文字長度長於可顯示範圍:android:singleLine=」true」 2.設置可滾到,或顯示樣式
TextView實現文字滾動需要以下幾個要點:
1.文字長度長於可顯示範圍:android:singleLine=」true」
2.設置可滾到,或顯示樣式:android:ellipsize=」marquee」
3.TextView只有在獲取焦點後才會滾動顯示隱藏文字,因此需要在包中新建一個類,繼承TextView。重寫isFocused方法,這個方法默認行為是,如果TextView獲得焦點,方法返回true,失去焦點則返回false。跑馬燈效果估計也是用這個方法判斷是否獲得焦點,所以把它的返回值始終設置為true。
自定義一個
AlwaysMarqueeTextView 類
public class AlwaysMarqueeTextView extends TextView { public AlwaysMarqueeTextView(Context context) { super(context); } public AlwaysMarqueeTextView(Context context, AttributeSet attrs) { super(context, attrs); } public AlwaysMarqueeTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public boolean isFocused() { return true; }
在布局XML文件中加入這么一個AlwaysMarqueeTextView,這個加入方法也是剛剛學的。
<com.examples.AlwaysMarqueeTextView android:id=「@+id/AMTV1″ android:layout_width=「fill_parent」 android:layout_height=「wrap_content」 android:lines=「1″ android:focusable=「true」 android:focusableInTouchMode=「true」 android:scrollHorizontally=「true」 android:marqueeRepeatLimit=「marquee_forever」 android:ellipsize=「marquee」 android:background=「@android:color/transparent」 />
ellipsize屬性
設置當文字過長時,該控制項該如何顯示。有如下值設置:」start」—–省略號顯示在開頭;」end」——省略號顯示在結尾;」middle」—-省略號顯示在中間;」marquee」 ——以跑馬燈的方式顯示(動畫橫向移動)
marqueeRepeatLimit屬性
在ellipsize指定marquee的情況下,設置重復滾動的次數,當設置為marquee_forever時表示無限次。
focusable屬性
自己猜測的,應該是能否獲得焦點,同樣focusableInTouchMode應該是滑動時能否獲得焦點。
組合View的問題:
< LinearLayout xmlns:android =「http://schemas.android.com/apk/res/android」 android:orientation =「vertical」 android:gravity =「center_vertical」 android:background =「@drawable/f_background」 android:layout_width =「fill_parent」 android:focusable =「true」 android:layout_height =「50px」 > < TextView android:id =「@+id/info_text」 android:focusable =「true」 android:layout_width =「fill_parent」 android:layout_height =「wrap_content」 android:text =「test marquee .. 「 android:textColor =「@color/black」 android:singleLine =「true」 android:ellipsize =「marquee」 android:marqueeRepeatLimit =「3″ android:textSize =「18sp」 /> < TextView android:id =「@+id/date_text」 android:layout_width =「fill_parent」 android:layout_height =「wrap_content」 android:layout_gravity =「bottom」 android:textColor =「@color/gray」 android:text =「2010/05/28″ android:textSize =「12sp」 /> </ LinearLayout >
上面示例中2個TextView組合為一個View,由於設置了LinearLayout為focusable而TextView就沒法取得焦點了,這樣 這個TextView的跑馬燈效果就顯示不出來,就算你也設置TextView的

『陸』 如何實現android中橫向滾動的gridView

法1.直接用tablelayout gridview是根據你每行的單元數自動生成的行數;
法2.可以在代碼里根據view數來動態設置列數,比如有10記錄可以設置列數為10/3+1,這樣就有三行四列了。
如果您對我的回答有不滿意的地方,還請您繼續追問;
答題不易,互相理解,互相幫助!

『柒』 android中用HorizontalScrollView+ImageSwitcher做相冊,對橫向滑動的小圖片,選中後如何畫框

你上網找下 Wrox.Beginning.Android.4.Application.Development.Mar.2012.pdf 這個文件,里有你想的答案。

『捌』 android開發中,怎麼實現上下滑動,不是ScrollView,我要的是一次滑動整個頁面,跟橫向滑動效果一樣。。

直接用intent跳轉到下個頁面啊 判斷用戶有向上滑動的手勢 就跳轉 然後設置一個 跳轉的動畫效果就可以了..

『玖』 如何讓安卓手機應用程序橫屏滑動

需要破解手機以後,才可以安裝橫屏軟體,

或者給橫屏軟體簽名後才可以安裝哦橫屏軟體的話,

『拾』 android 中橫向滑動屏幕時怎樣讓其他觸摸監聽事件失效

監聽它們,不做任何操作.

熱點內容
實簡ftp軟體怎麼改伺服器文件 發布:2025-01-11 10:09:39 瀏覽:555
qb充值源碼 發布:2025-01-11 10:00:21 瀏覽:27
c語言元編程 發布:2025-01-11 09:53:02 瀏覽:343
線切割割圓怎麼編程 發布:2025-01-11 09:52:23 瀏覽:171
怎麼選女孩子的配置 發布:2025-01-11 09:47:33 瀏覽:671
python獲取header 發布:2025-01-11 09:47:32 瀏覽:492
iis7上傳大小 發布:2025-01-11 09:41:38 瀏覽:507
拍攝腳本是什麼工作 發布:2025-01-11 09:39:12 瀏覽:786
魅族安卓8什麼時候更新 發布:2025-01-11 09:27:58 瀏覽:362
電腦板我的世界登錄密碼多少 發布:2025-01-11 09:15:43 瀏覽:284