gpt4 book ai didi

android - ImageButton 增加点击区域

转载 作者:行者123 更新时间:2023-11-29 02:35:52 25 4
gpt4 key购买 nike

我是 Android 开发的新手,我需要增加分组在 LinearLayout 中的两个按钮的点击区域

<LinearLayout
android:id="@+id/buttonsLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="5sp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp">
<ImageButton
android:id="@+id/backButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/button_close_animation"
android:onClick="closeActivity"
android:layout_weight="1"/>
<ImageButton
android:id="@+id/sendButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/sendbutton_inactive"
android:onClick="onSendMessage"
android:layout_weight="1"
android:layout_marginLeft="30sp"/>
</LinearLayout>

我想增加左侧后退按钮和右侧发送按钮的点击区域。

我试过为每个按钮添加填充,但图像被拉伸(stretch)了,我不希望那样...我还尝试使用 TouchDelegate 从后退按钮开始

Rect delegateAreaBack = new Rect();
ImageButton delegateBack = (ImageButton) findViewById(R.id.backButton);
delegateBack.getHitRect(delegateAreaBack);
delegateAreaBack.left -= 2600;
TouchDelegate expandedAreaBack = new TouchDelegate(delegateAreaBack, delegateBack);
if(View.class.isInstance(delegateBack.getParent()))
((View) delegateBack.getParent()).setTouchDelegate(expandedAreaBack);

但是命中区域并没有增加...我做错了什么?

最佳答案

    ImageButton button = (ImageButton) findViewById(R.id.backButton); 
button .post( new Runnable() {
public void run() {
final Rect rect = new Rect();
button.getHitRect(rect);
rect.top -= 100; // increase top hit area
rect.left -= 100; // increase left hit area
rect.bottom += 100; // increase bottom hit area
rect.right += 100; // increase right hit area
button .setTouchDelegate( new TouchDelegate( rect , button));
}
});

关于android - ImageButton 增加点击区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47138936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com