【问题标题】:how to display the image inside the button and image will be blink animation如何在按钮内显示图像,图像将闪烁动画
【发布时间】:2017-07-27 22:43:07
【问题描述】:

1

<?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_horizontal"
    android:orientation="vertical"
    android:padding="16dp"
    android:weightSum="1">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="71dp">

        <TextView
            android:id="@+id/tv1"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:background="@color/coloryellow1"
            android:gravity="center"
            android:text="Alok International School"
            android:textSize="10pt"
            android:textStyle="bold"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@+id/iv1"
            android:layout_toEndOf="@+id/iv1"
            android:layout_marginLeft="14dp"
            android:layout_marginStart="14dp" />

        <ImageView
            android:id="@+id/iv1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/logo64"
            android:layout_alignParentTop="true"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
    </RelativeLayout>

    <RelativeLayout
        android:layout_marginTop="5dp"
        android:layout_width="357dp"
        android:layout_height="125dp"
        android:background="@drawable/colorlogin">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/p1"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true" />

        <TextView
            android:gravity="center"
            android:textStyle="normal"
            android:textSize="25dp"
            android:textColor="#EEFFFF"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="ALOK SHARMA"
            android:paddingLeft="15dp"
            android:id="@+id/textView8"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true" />
    </RelativeLayout>

    <LinearLayout
        android:layout_marginTop="12dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:id="@+id/line1">

            <Button
                android:layout_width="160dp"
                android:layout_height="100dp"
                android:background="@drawable/circle"
                android:drawableTop="@drawable/profile"
                android:paddingTop="20dp"
                android:text="Profile"
                android:id="@+id/btnprofile"
                android:textColor="#fff" />

            <Button
                android:layout_width="160dp"
                android:layout_height="100dp"
                android:layout_marginLeft="10dp"
                android:background="@drawable/circle1"
                android:id="@+id/btnattendance"
                android:drawableTop="@android:drawable/ic_dialog_map"
                android:paddingTop="20dp"
                android:text="Attendance"
                android:textColor="#fff" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:orientation="horizontal">

            <Button
                android:layout_width="160dp"
                android:layout_height="100dp"
                android:background="@drawable/circle2"
                android:drawableTop="@drawable/notice"
                android:paddingTop="20dp"
                android:text="Notice"
                android:id="@+id/btnnotice"
                android:textColor="#fff" />

            <Button
                android:layout_width="160dp"
                android:layout_height="100dp"
                android:layout_marginLeft="10dp"
                android:background="@drawable/circle3"
                android:drawableTop="@drawable/talk"
                android:paddingTop="20dp"
                android:text="Talk"
                android:id="@+id/btntalk"
                android:textAllCaps="true"
                android:textColor="#fff" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:orientation="horizontal" >

            <Button
                android:layout_width="160dp"
                android:layout_height="100dp"
                android:background="@drawable/circle4"
                android:drawableTop="@android:drawable/ic_dialog_email"
                android:paddingTop="20dp"
                android:text="Today food"
                android:id="@+id/btntoday_food"
                android:textColor="#fff" />

            <Button
                android:layout_width="160dp"
                android:layout_height="100dp"
                android:layout_marginLeft="10dp"
                android:background="@drawable/circle5"
                android:drawableTop="@android:drawable/ic_dialog_map"
                android:paddingTop="20dp"
                android:text="fees"
                android:id="@+id/btnfees"
                android:textColor="#fff" />

        </LinearLayout>

    </LinearLayout>
</LinearLayout>

2

<?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_horizontal"
    android:orientation="vertical"
    android:padding="16dp"
    android:weightSum="1">

    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="71dp">

        <TextView
            android:id="@+id/tv1"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:background="@color/coloryellow1"
            android:gravity="center"
            android:text="Alok International School"
            android:textSize="10pt"
            android:textStyle="bold"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@+id/iv1"
            android:layout_toEndOf="@+id/iv1"
            android:layout_marginLeft="14dp"
            android:layout_marginStart="14dp" />

        <ImageView
            android:id="@+id/iv1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/logo64"
            android:layout_alignParentTop="true"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
    </RelativeLayout>

    <RelativeLayout
        android:layout_marginTop="5dp"
        android:layout_width="357dp"
        android:layout_height="125dp"
        android:background="@drawable/colorlogin">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/p1"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true" />

        <TextView
            android:gravity="center"
            android:textStyle="normal"
            android:textSize="25dp"
            android:textColor="#EEFFFF"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="ALOK SHARMA"
            android:paddingLeft="15dp"
            android:id="@+id/textView8"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true" />
    </RelativeLayout>

    <LinearLayout
        android:layout_marginTop="12dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:id="@+id/line1">

            <Button
                android:layout_width="160dp"
                android:layout_height="100dp"
                android:background="@drawable/circle"
                android:drawableTop="@drawable/profile"
                android:paddingTop="20dp"
                android:text="Profile"
                android:id="@+id/btnprofile"
                android:textColor="#fff" />

            <Button
                android:layout_width="160dp"
                android:layout_height="100dp"
                android:layout_marginLeft="10dp"
                android:background="@drawable/circle1"
                android:id="@+id/btnattendance"
                android:drawableTop="@android:drawable/ic_dialog_map"
                android:paddingTop="20dp"
                android:text="Attendance"
                android:textColor="#fff" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:orientation="horizontal">

            <Button
                android:layout_width="160dp"
                android:layout_height="100dp"
                android:background="@drawable/circle2"
                android:drawableTop="@drawable/notice"
                android:paddingTop="20dp"
                android:text="Notice"
                android:id="@+id/btnnotice"
                android:textColor="#fff" />

            <Button
                android:layout_width="160dp"
                android:layout_height="100dp"
                android:layout_marginLeft="10dp"
                android:background="@drawable/circle3"
                android:drawableTop="@drawable/talk"
                android:paddingTop="20dp"
                android:text="Talk"
                android:id="@+id/btntalk"
                android:textAllCaps="true"
                android:textColor="#fff" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:orientation="horizontal" >

            <Button
                android:layout_width="160dp"
                android:layout_height="100dp"
                android:background="@drawable/circle4"
                android:drawableTop="@android:drawable/ic_dialog_email"
                android:paddingTop="20dp"
                android:text="Today food"
                android:id="@+id/btntoday_food"
                android:textColor="#fff" />

            <Button
                android:layout_width="160dp"
                android:layout_height="100dp"
                android:layout_marginLeft="10dp"
                android:background="@drawable/circle5"
                android:drawableTop="@android:drawable/ic_dialog_map"
                android:paddingTop="20dp"
                android:text="fees"
                android:id="@+id/btnfees"
                android:textColor="#fff" />

        </LinearLayout>
    </LinearLayout>

</LinearLayout>

我想在Button 中可视化ImageView,但在Button 中没有显示图像,为什么?

而且这张图片应该是闪烁的……

这段代码的布局..现在我想要那个 android:drawableTop="@drawable/profile" 在此代码配置文件图片中应该是闪烁动画...

【问题讨论】:

标签: android


【解决方案1】:

你可以像这样使用按钮的android:drawableTop=""

    <Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:drawableTop="@drawable/ic_calender"
    android:text="button 5" />

或者这样创建一个新的布局

    <LinearLayout
    android:layout_width="match_parent"
    android:id="@+id/linear"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:gravity="center"
    android:orientation="vertical">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:src="@drawable/disha2" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="abc" />
</LinearLayout>

像这样将点击列表设置为线性布局

 // Animation
Animation animFadein;
LinearLayout linearLayout = findViewById(R.id.linear);
    linearLayout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // load the animation
    animFadein = AnimationUtils.loadAnimation(getApplicationContext(),
            R.anim.fade_in);
         Imageview.startAnimation(animFadein);
        }
    });

根据您的要求获取动画from here

【讨论】:

  • 但我想闪烁唯一的图标。不是整个按钮
  • 谢谢你可以在其中使用一个线性布局,使用 imagebutton 和 textview 并设置线性布局的点击事件
  • 我写了这段代码,但图像没有显示..
  • 设置线性布局的背景
【解决方案2】:

试试这个:

 final Animation animation = new AlphaAnimation(0.3f, 1.0f);
 animation.setDuration(1000);
 layout_id.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {
                                imageview_id.startAnimation(animation);     
                            }
                        });

【讨论】:

    【解决方案3】:

    你可以使用LinearLayoutclickable="true"background="?attr/selectableItemBackground"来实现默认点击效果,并在里面添加ImageViewTextView

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="?attr/selectableItemBackground"
        android:clickable="true"
        android:gravity="center"
        android:orientation="vertical"
        android:padding="20dp">
    
        <ImageView
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:src="@drawable/icon" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="Button1" />
    </LinearLayout>
    

    【讨论】:

    • 但是当我设置自己创建一个彩色 xml 但是..然后图像没有显示..
    【解决方案4】:

    我首先建议您创建一个layout 而不是使用button

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:gravity="center"
        android:orientation="vertical">
    
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="150dp"
            android:src="@drawable/image" />
    
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="TextView1" />
       </LinearLayout>
    

    现在,您可以使用以下代码闪烁(淡入)ImageView

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    
    setContentView(R.layout.main_activity);
    
    Animation myFadeInAnimation;
    
     ImageView myImageView = (ImageView) findViewById(R.id.image); 
    
        Animation myFadeInAnimation = AnimationUtils.loadAnimation(null, R.anim.fade_in);
    
    //use this below line whenever you want to blink your icon
     myImageView.startAnimation(myFadeInAnimation);
    }
    

    现在在 anim 文件夹中创建一个fade_in.xml

    <?xml version="1.0" encoding="UTF-8"?> 
    <set xmlns:android="http://schemas.android.com/apk/res/android"> 
        <alpha android:fromAlpha="0.0" 
        android:toAlpha="1.0" 
        android:interpolator="@android:anim/accelerate_interpolator"  
        android:duration="50" android:repeatCount="infinite"/> 
     </set> 
    

    如果您对淡入动画不满意,只需在 Google 上搜索出能够获得您想要的效果的动画即可。

    【讨论】:

    • 你为哪个元素添加了背景色?
    【解决方案5】:

    试试这个

     <Button
    android:id="@+id/btn"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:drawableTop="@drawable/ic_calender"
    android:text="button 5" />
    
    final Animation animation = new AlphaAnimation(1, 0);
        animation.setDuration(500);
        animation.setInterpolator(new LinearInterpolator());
        animation.setRepeatCount(Animation.INFINITE);
        animation.setRepeatMode(Animation.REVERSE);
    
    
        btn.startAnimation(animation);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-10
      相关资源
      最近更新 更多