Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将前景色和中心图标添加到可单击视图_Android_Android Layout_Click_Android Drawable - Fatal编程技术网

Android 将前景色和中心图标添加到可单击视图

Android 将前景色和中心图标添加到可单击视图,android,android-layout,click,android-drawable,Android,Android Layout,Click,Android Drawable,我正在努力实现这样的目标! 我如何做到这一点 我尝试创建一个带有中心图标和透明背景的可绘制表格,但当可绘制表格设置为前景视图时,图标会缩放以填充视图 对于api级别低于23的情况,也不支持setForground方法 我打算在单击视图时动态地实现这一点。请帮忙 您应该在视图上添加一个与父维度匹配的透明视图,并在其中心添加一个图像视图。 您可以调整透明度级别以获得所需效果要实现此视图,请使用相对布局如下面的代码所示 <?xml version="1.0" encoding="utf-8"?&

我正在努力实现这样的目标! 我如何做到这一点

我尝试创建一个带有中心图标和透明背景的可绘制表格,但当可绘制表格设置为前景视图时,图标会缩放以填充视图

对于api级别低于23的情况,也不支持setForground方法


我打算在单击视图时动态地实现这一点。请帮忙

您应该在视图上添加一个与父维度匹配的透明视图,并在其中心添加一个图像视图。
您可以调整透明度级别以获得所需效果

要实现此视图,请使用相对布局如下面的代码所示

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">


<RelativeLayout
    android:layout_width="90dp"
    android:layout_height="120dp">

    <ImageView
         android:id="@+id/image_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/demo_img_4" />

    <LinearLayout
        android:id="@+id/transp_ll"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#30000000"
        android:gravity="center">

        <ImageView
             android:id="@+id/delete_btn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_delete_black_24dp" />
    </LinearLayout>
</RelativeLayout>
</LinearLayout>

试着用重力和一个角度来防止可拉伸的物体填满视图。这似乎是一个很好的解决方案。但请检查xml中没有设置为
transp\u ll、image\u view和delete\u btn
的id。请更新您的解决方案
  @Override
 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //initialize views
    setContentView(R.layout.activity_main);
    image_view = findViewById(R.id.image_view);
    delete_btn = findViewById(R.id.delete_btn);
    transp_ll = findViewById(R.id.transp_ll);

    //set transparent layout visibility gone
    transp_ll.setVisibility(View.GONE);

    //set click listener
    image_view.setOnClickListener(this);
    delete_btn.setOnClickListener(this);
}

@Override
public void onClick(View view) {
    switch (view.getId()) {
        case R.id.delete_btn:
            //write here delete button click functionality..
            transp_ll.setVisibility(View.GONE);
            break;
        case R.id.image_view:
            transp_ll.setVisibility(View.VISIBLE);
            break;
    }
}