我想通过编程使图像在布局中显示为VISIBLE。
这是 XML文件,我将图像声明为GONE,然后通过代码使其可见:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/map"
tools:context="dis2.widget.MainActivity">
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="80dp"
android:id="@+id/contactsScrollView"
android:fillViewport="false"
android:visibility="visible"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="26dp">
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<ImageView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:src="@drawable/linkg"
android:id="@+id/linkgID"
android:visibility="gone"/>
</LinearLayout>
</HorizontalScrollView>
</RelativeLayout>
这是MainActivity Java文件:
private greenBeeper g;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView b = (ImageView) findViewById(R.id.linkgID);
b.setVisibility(View.VISIBLE);
}
答案 0 :(得分:3)
您已在xml中使LinearLayout
以及ImageView
消失。在java中,您只能使图像可见,而您的imageView父级仍然处于消失状态。这是您的代码中的问题。
给你的线性布局赋予一些id,并在你希望你的imageview可见时让它可见
答案 1 :(得分:1)
您的LinearLayout
声明为gone
。
<LinearLayout
android:id="@+id/imageParent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="gone">
<ImageView
android:id="@+id/linkgID"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:src="@drawable/linkg"
android:visibility="gone"/>
</LinearLayout>
尝试从android:visibility="gone"
中删除LinearLayout
,并使用其余的Java代码。
答案 2 :(得分:1)
试试这个, 在你的xml中,可以看到LinearLayout&#34;可见&#34;而不是&#34;走了&#34;你可以在你的布局中看到imageview。
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible">
<ImageView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:src="@drawable/linkg"
android:id="@+id/linkgID"
android:visibility="gone"/>
</LinearLayout>
我希望你用这个来解决你的问题.. !!
答案 3 :(得分:1)
启用线性布局和图像视图可见性。
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="visible">
<ImageView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:src="@drawable/board_out_icon"
android:id="@+id/linkgID"
android:visibility="visible"/>
</LinearLayout>
答案 4 :(得分:-1)
private greenBeeper g;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
ImageView b = (ImageView) findViewById(R.id.linkgID);
b.setVisibility(View.VISIBLE);
layout.setVisibility(View.VISIBLE);
}
将{id}赋予LinearLayout