2014-01-02 2 views
3

Возможно ли (и как) сделать ссылку ImageView на веб-страницу таким образом, что когда пользователи нажимают на изображение, это выводит их на веб-страницу? Я сделал эту структуру, и мне нужен веб-ссылка для каждого ImageView:Добавить веб-ссылку в ImageView?

<ScrollView 
<LinearLayout  
    <ImageView1 
    <ImageView2 
    <ImageView3 
    . 
    . 
    . 
</LinearLayout> 

</ScrollView> 

ответ

0

Да, самый простой способ заключается в использовании ImageButton. В методе onClick для ImageButton отправьте Intent с URL-адресом, чтобы открыть браузер или собственный WebView. Если вы не хотите, чтобы он выглядел кнопкой, просто установите onClickListener на ImageView.

Смотрите эту ссылку: How can ImageView link to web page?

+0

Хорошо, так, что мне нужно изменить все мои Imageviews к ImageButton и добавить Intent к каждому методу OnClick. Спасибо, я попробую это :) – dzim

+0

@dzim Вам не нужно менять ImageViews в ImageButton, и вам нужен только один метод onClick. См. Мой ответ. – ramaral

0

В основном добавить щелчок слушателя и, когда изображение будет нажата перейти на веб-страницу с намерением.

--- Код от Cristian здесь (How can ImageView link to web page?)

ImageView img = (ImageView)findViewById(R.id.foo_bar); 
img.setOnClickListener(new View.OnClickListener(){ 
    public void onClick(View v){ 
     Intent intent = new Intent(); 
     intent.setAction(Intent.ACTION_VIEW); 
     intent.addCategory(Intent.CATEGORY_BROWSABLE); 
     intent.setData(Uri.parse("http://casidiablo.net")); 
     startActivity(intent); 
    } 

});

6

Вам понадобится только один onClick событие для обработки всех ImageView кликов.

Используйте атрибут android:tag, чтобы назначить URL-адрес, который вы хотите открыть.
Используйте атрибут , чтобы назначить метод, который обрабатывает событие click.

В XML:

<ImageView 
    android:id="@+id/image1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/yourimage1" 
    android:tag="http://site_1.com" 
    android:onClick="openBrowser"/> 

<ImageView 
    android:id="@+id/image2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/yourimage2" 
    android:tag="http://site_2.com" 
    android:onClick="openBrowser"/> 

В деятельности:

public void openBrowser(View view){ 

    //Get url from tag 
    String url = (String)view.getTag(); 

    Intent intent = new Intent(); 
    intent.setAction(Intent.ACTION_VIEW); 
    intent.addCategory(Intent.CATEGORY_BROWSABLE); 

    //pass the url to intent data 
    intent.setData(Uri.parse(url)); 

    startActivity(intent); 
} 
Смежные вопросы