View Full Version : کلیک بر روی یک view!
raha_jon
چهارشنبه 22 مرداد 1393, 18:27 عصر
سلام خسته نباشید
ببخشید من یک لایه دارم مثلا با این آیدی salam حالا من اینو داخل کلاس تعریف می کنم و کد هم کار کی کنه
اما می خوام وقتی رو لایه کلیک میشه مانند باتون تغییر رنگ جزئی
سوالم هم خیلی راحت بود اما بلد نیستم :لبخندساده:
parvizwpf
چهارشنبه 22 مرداد 1393, 18:36 عصر
http://stackoverflow.com/questions/14120639/android-ui-layout-onclick-listener
همون this.OnClick شاید جواب بده.
raha_jon
چهارشنبه 22 مرداد 1393, 18:49 عصر
تشکر اما نشد:ناراحت:
parvizwpf
چهارشنبه 22 مرداد 1393, 18:55 عصر
میخواهید وقتی روی اکتیویتی کلیلک کردید کاری انجام بشه؟
raha_jon
چهارشنبه 22 مرداد 1393, 21:19 عصر
من مثل این یک لایه دارم تو لایوت
<LinearLayout
android:orientation="vertical"
android:id="@+id/about_button"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_gravity="center">
حالا می خوام با ایدیش تو کلاس بشناسونمشون و قتی کلیک شد کاری انجام میده تو این موفق میشم و کارشو انجام میده
اما می خوام وقتی روش کلیک میشه کاربر بفهمه روش کلیک شد مثلا باتون یک تغییر رنگ جزئی بده
smemamian
چهارشنبه 22 مرداد 1393, 22:17 عصر
سلام
من از این ویژگی برای یکی از کلیدهای ارسالم استفاده کردم.
در شاخه res یک پوشه به اسم drawable ایجاد کنید، سپس یه فایل xml با هرنامی که خواستید ایجاد کنید.
سپس کدهای زیر را در داخل فایلی که ایجاد کردید بذارید :
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<gradient
android:startColor="@color/start_color_pressed_send"
android:endColor="@color/end_color_pressed_send"
android:angle="270" />
<stroke
android:width="2dp"
android:color="@color/refresh_btn_stroke_send" />
<corners
android:radius="10dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:state_focused="true" >
<shape>
<gradient
android:endColor="@color/end_color_focused_send"
android:startColor="@color/start_color_focused_send"
android:angle="270" />
<stroke
android:width="2dp"
android:color="@color/refresh_btn_stroke_send" />
<corners
android:radius="10dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:endColor="@color/end_color_default_send"
android:startColor="@color/start_color_default_send"
android:angle="270" />
<stroke
android:width="2dp"
android:color="@color/refresh_btn_stroke_send" />
<corners
android:radius="10dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
سپس کدهای زیر را در فایل colors.xml قرار دهید :
<!-- Start style button send -->
<!-- Start pressed -->
<color name="start_color_pressed_send">#1425ff</color>
<color name="end_color_pressed_send">#6973fa</color>
<!-- End pressed -->
<!-- Start focused -->
<color name="start_color_focused_send">#1425ff</color>
<color name="end_color_focused_send">#6973fa</color>
<!-- End focused -->
<!-- Start default -->
<color name="start_color_default_send">#6973fa</color>
<color name="end_color_default_send">#1425ff</color>
<!-- End default -->
<!-- Start other -->
<color name="refresh_btn_text_color_send">#ffffff</color>
<color name="refresh_btn_stroke_send">#7481ff</color>
<!-- End other -->
<!-- End style button send -->
اگر خواستید رنگ ها را تغییر دهید کدهای بخش colors.xml را تغییر دهید. یعنی همین کدهای قسمت بالا.
سپس در Buttonی که تعریف می کنید، فایل xmlی که در شاخه drawable ایجاد کردید را معرفی کنید :
<Button
android:id="@+id/btn_list_sent_item_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/str_btn_resend"
android:background="@drawable/yourfile"
android:layout_marginTop="5dp"
android:layout_marginLeft="2dp"
/>
yourfile همان فایل xml است.
parvizwpf
چهارشنبه 22 مرداد 1393, 23:53 عصر
LinearLayout ll=(LinearLayout) findViewById(R.id.myll);
ll.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(),"Clicked", Toast.LENGTH_LONG).show();
}
});
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.