cuốn sách gpt4 ai đã làm

Android:Thư viện webview

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 22:34:16 26 4
mua khóa gpt4 Nike

Tôi đang cố gắng xây dựng một tập hợp Chế độ xem web cuộn theo chiều ngang bằng tiện ích Thư viện. Vấn đề là tôi không thể trượt Chế độ xem, tất nhiên điều này áp dụng cho thư viện hình ảnh. Theo mã công thức, trong onCreate() của Hoạt động tôi:

g = (Thư viện) findViewById(R.id.chapter_browser);
g.setAdapter(WebViewAdapter mới(this));

Sau đó, bộ điều hợp sẽ tạo các lượt xem web và trả về chúng cho chỉ mục được yêu cầu:

   lớp công khai WebViewAdapter mở rộng BaseAdapter {
int mGalleryItemBackground;
Bối cảnh riêng tư mContext;

chuỗi riêng tư[] trang = {
"test1.html",
"test2.html",
"test3.html",
"test4.html"
};

WebViewAdapter công khai(Ngữ cảnh c) {
mContext = c;
}

công khai int getCount() {
trả về pages.length;
}

Đối tượng công khai getItem(int location) {
trở lại vị trí;
}

công khai getItemId (vị trí int) {
trở lại vị trí;
}

Chế độ xem công khai getView(int location, View ConvertView, ViewGroup parent) {
WebView i = WebView mới(mContext);

i.loadUrl("file:///android_asset/" + pages[position]);
i.setBackgroundResource(mGalleryItemBackground);
i.setWebViewClient(WebViewClient mới());
i.setLayoutParams(Gallery.LayoutParams mới(100.100));
i.setInitialScale(100);
i.setFocusable(false);
i.setClickable(false);

trả lại tôi;
}
}

Vấn đề có vẻ là WebView nhất quyết sử dụng các sự kiện chạm mặc dù đã thêm nó có thể nhấp vào Tài sản được đặt ở chế độ tắt. Tôi đã thử tạo OnTouchEventListener cho Chế độ xem rồi gửi sự kiện đến thư viện nhưng điều này dường như làm hỏng chương trình.

Cảm ơn vì bất kỳ manh mối nào.

câu trả lời hay nhất

Tôi gặp vấn đề tương tự khi sử dụng thư viện WebView và cuối cùng đã làm như sau:

lớp công khai MyGallery mở rộng Thư viện
{

int cuối cùng riêng tư dốc;
float riêng ban đầuX;
float riêng ban đầuY;

public MyGallery(Ngữ cảnh, thuộc tính bộ thuộc tính)
{
super(bối cảnh, attrs);

slop = ViewConfiguration.get(context).getScaledTouchSlop();
}

@Ghi đè
boolean công khai onFling(MotionEvent e1, MotionEvent e2, vận tốc floatX, vận tốc floatY)
{
trả về sai;
}

@Ghi đè
boolean công khai onInterceptTouchEvent(MotionEvent ev)
{
chuyển đổi (ev.getAction())
{
trường hợp MotionEvent.ACTION_DOWN:
/*
* Kludge: Cả phòng trưng bày và trẻ đều cần xem
* cử chỉ, cho đến khi chúng ta biết đủ về nó để quyết định ai sẽ nhận nó.
*/
onTouchEvent(ev);

initX = ev.getX();
ban đầuY = ev.getY();

trả về sai;

trường hợp MotionEvent.ACTION_MOVE:
float distX = Math.abs(ev.getX() - initX);
float distY = Math.abs(ev.getY() - initY);

if (distY > distX && distY > slop)
/* Cuộn theo chiều dọc, trẻ thực hiện cử chỉ */
trả về sai;

/*
* Nếu cuộn ngang thì ta thực hiện cử chỉ, còn không thì giữ nguyên
* nhìn trộm.
*/
trả về distX > dốc;

default:
trả về sai;
}
}

}

Điều này cho phép tôi cuộn nội dung web theo chiều dọc và nhấp vào liên kết, trong khi cuộn theo chiều ngang sẽ điều khiển thư viện.

Về thư viện Android:Webview, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/5878094/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress