Android 跳转动画问题

@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {

            if (e1.getY() - e2.getY() > FLIP_DISTANCE) {
                Intent intent = new Intent(MainActivity.this, SecondActivity.class);
                overridePendingTransition(R.anim.anim_come ,R.anim.anim_go);
                startActivity(intent);
            }
            return false;
        }

                    anim_come.xml
                    <?xml version="1.0" encoding="utf-8"?>

android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="-100%p"
android:toYDelta="0" />

    anim_go.xml
    <?xml version="1.0" encoding="utf-8"?>

android:duration="@android:integer/config_longAnimTime"
android:fromYDelta="0"
android:toYDelta="100%p" />

    各位版主大神,这样写没有跳转效果

1个回答

overridePendingTransition(R.anim.anim_come ,R.anim.anim_go);
startActivity(intent);这两句位置换一下

u010243044
天蓝风暖 回复崔峰鸣: 哈哈,下次认真一点就好了
大约 3 年之前 回复
qq_28186229
崔峰鸣 老姐,我。。。
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android 跳转动画求助
我想实现一个页面从中间上下分开然后显示第二个页面的跳转效果,可是一半都是要么从上往下推,要么从下往上推的效果,求大神
android 界面跳转和动画同时运行是出现的问题。
我想做的是,打开一个客户端(安卓平台),然后显示一段动画,动画结束之后就跳转到另外一个界面。但是,这两个功能单个实现的时候都没有问题,两个一起运行是就出问题了,编译通过,然后启动程序,开始演示动画,当动画演示完毕,准备跳转界面的时候,程序就出问题了,就是直接退出了。代码如下。 public class Open extends Activity{ private ImageView imageView; private AnimationDrawable background; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.open); donghua(); turn(); } public void donghua(){ //显示动画函数,动画播放时间为5秒 imageView = (ImageView) findViewById(R.id.openimageView); imageView.setBackgroundResource(R.drawable.dong); background = (AnimationDrawable) imageView.getBackground(); background.start(); } public void turn(){ //七秒后界面跳转,问题就处在第七秒, new Handler(){ public void handleMessage(android.os.Message msg){ if(msg.what==1){ Intent intent = new Intent(Open.this, Pdata.class); startActivity(intent); } }; }.sendEmptyMessageDelayed(1,7000); } } 那个跳转的Pdata应该没有问题,我单独使用跳转函数的时候可以进行跳转,只是两个一起的时候就不行了。下面是logcat的结果。 03-29 03:40:18.302: E/AndroidRuntime(663): FATAL EXCEPTION: main 03-29 03:40:18.302: E/AndroidRuntime(663): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.easymin.logindemo/com.marco.logindemo.Pdata}: android.view.InflateException: Binary XML file line #2: Error inflating class <unknown> 这是最开始出错的前几行。也百度到了类似的问题,然后改了还是不行。求大神!!
Android自定义页面跳转动画
<style name="AnimationActivity" mce_bogus="1" parent="@android:style/Animation.Activity"> <item name="android:activityOpenEnterAnimation">@anim/move_right_in_activity</item> <item name="android:activityOpenExitAnimation">@anim/move_left_out_activity</item> <item name="android:activityCloseEnterAnimation">@anim/move_left_in_activity</item> <item name="android:activityCloseExitAnimation">@anim/move_right_out_activity</item> </style> 如上,定义一个Android应用的activity的进入、退出动画。奇怪的是这种方法对启动模式为singleInstance的activity没有作用,求好心人告知什么原因,怎么解决?不甚感激
android fragment后退没动画
我返回使用getFragmentManager().popBackStack();的。 跳转是用add跳转+动画,可是后退的时候却没有动画,直接一闪。 求各位大神解,最好贴上代码
android:windowIsTranslucent导致转场动画无效,求大神帮忙
最近在使用SwipeBackLayout,由于要用到android:windowIsTranslucent为true才不会黑屏,,但是转场动画无效了,,看了很多人说用android:windowAnimationStyle要继承@android:style/Animation.Translucent就可以了,,,但是看了@android:style/Animation.Translucent里面,,用到的是windowEnterAnimation和windowExitAnimation,这个2个只是用到A跳转到B,B有动画,但我要的是跟微信那样,,A跳转到B,B有进入动画,A有退出动画,请问大神如何解决啊,,就算我用了android:activityOpenEnterAnimation,android:activityOpenExitAnimation,android:activityCloseEnterAnimation,,android:activityCloseExitAnimation这4个值设置了也无效啊,求大神帮忙啊。。。
android fragment 退栈动画怎么设置
我用的是add进行跳转的,为了防止重复加载问题。 transaction.setCustomAnimations(R.anim.push_left_in,R.anim.push_left_out,R.anim.push_right_in,R.anim.push_right_out); 我是这样设置add跳转的动画,是可以的,但是我通过getFragmentManager().popBackStack();的时候却没有动画,不知道是怎么回事呢?
android 仿微信在application里面设置页面跳转动画的theme 有些机型没有效果
想做一个仿微信的左右切换动画,根据这篇文章的写法[](http://blog.csdn.net/lnb333666/article/details/8962715 "") ,发现,华为p7 系统是4.4.2 上面,根本不起作用,还是手机默认的动画效果,只有在代码里写 override 动画才起作用,求解决方案
萌新关于跳转问题的问题!!!!!!
package com.example.application; import actionmovie.LoginActivity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.view.animation.Animation.AnimationListener; import android.widget.ImageView; public class MainActivity extends Activity { private ImageView welcomeImg = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); welcomeImg = (ImageView) this.findViewById(R.id.welcome_img); AlphaAnimation anima = new AlphaAnimation(0.3f, 1.0f); anima.setDuration(3000);// 设置动画显示时间 welcomeImg.startAnimation(anima); anima.setAnimationListener(new AnimationImpl()); } private class AnimationImpl implements AnimationListener { @Override public void onAnimationStart(Animation animation) { welcomeImg.setBackgroundResource(R.drawable.boot_0000); } @Override public void onAnimationEnd(Animation animation) { skip(); // 动画结束后跳转到别的页面 } @Override public void onAnimationRepeat(Animation animation) { } } private void skip() { startActivity(new Intent(MainActivity.this, LoginActivity.class)); finish(); } } 上述是开机动画,要跳到 LoginActivity,动画结束后失败。 package actionmovie; import com.example.application.BMainActivity; import com.example.application.R; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast; public class LoginActivity extends Activity implements OnClickListener { private Button logbtn = null; private EditText username = null; private EditText password = null; private String pswd, name; private CheckBox checkboxButton = null; SharedPreferences sp = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); init(); } private void init() { // TODO Auto-generated method stub username = (EditText) findViewById(R.id.login_edit_account); password = (EditText) findViewById(R.id.login_edit_pwd); logbtn = (Button) findViewById(R.id.login_btn_login); checkboxButton = (CheckBox) findViewById(R.id.Login_Remember); if (sp.getBoolean("checkboxBoolean", false)) { username.setText(sp.getString("username", null)); password.setText(sp.getString("password", null)); checkboxButton.setChecked(true); } logbtn.setOnClickListener(LoginActivity.this); } @Override public void onClick(View v) { // TODO Auto-generated method stub name = username.getText().toString().trim(); pswd = password.getText().toString().trim(); if (v == logbtn) { if (name.equals("admin") && pswd.equals("123456")) { if (name.trim().equals("")) { Toast.makeText(this, "请您输入用户名!", Toast.LENGTH_SHORT).show(); return; } if (pswd.trim().equals("")) { Toast.makeText(this, "请您输入密码!", Toast.LENGTH_SHORT).show(); return; } boolean CheckBoxLogin = checkboxButton.isChecked(); if (CheckBoxLogin) { Editor editor = sp.edit(); editor.putString("username", name); editor.putString("password", pswd); editor.putBoolean("checkboxBoolean", true); editor.commit(); } else { Editor editor = sp.edit(); editor.putString("user", null); editor.putString("pass", null); editor.putBoolean("checkboxBoolean", false); editor.commit(); } Intent intent = new Intent(); intent.setClass(LoginActivity.this, BMainActivity.class); startActivity(intent); finish(); } else { AlertDialog.Builder builder = new Builder(LoginActivity.this); builder.setTitle(" 请确认!"); builder.setMessage(" 账号或密码错误"); builder.setPositiveButton("是", null); builder.show(); } } } } 两段代码,我一段段的切掉运行,发现在 if (sp.getBoolean("checkboxBoolean", false)) { username.setText(sp.getString("username", null)); password.setText(sp.getString("password", null)); checkboxButton.setChecked(true); } 缺少这个if语句是不会停止运行,且跳转成功,请问怎么解决啊。
安卓开发如何实现点击按钮先播放完点击动画后运行代码
做了个点击动画 可是动画还没完就跳转界面了 怎么弄动画完后跳转
overridePendingTransition只设置进入动画
以前跳转都用这个方法,进入和退出的activity都有动画效果。 但是现在遇到一个场景是,只需要进入activity的效果,不需要退出的activity动画效果, 试过了把第二个参数设为0,也试过把第二个动画的duration设置为0、1、10000, 甚至是fromXDelta="0%p" ,toXDelta="0%p"这样设置,也都不是我想要的效果。 是不是我方向错了,或者有别的跳转方法,网上一搜全是overridePendingTransition。
RecyclerView子item点击跳转activity怎么加上过场动画?
在adapter中的onBindViewHolder( )方法中用了 ActivityOptionsCompat compat = ActivityOptionsCompat.makeSceneTransitionAnimation(mContext,view,"cover"); 运行后报错: java.lang.ClassCastException: android.app.Application cannot be cast to android.app.Activity
setResult跳转问题失败了
一个安卓程序,在所有activity中都有一个按钮,可以返回主activity,但是有一个activity出现了不能回到主activity界面,而是单纯的finsh()返回上一个activity了,但是其他的页面的这个按钮都是可以用的。 代码: public class HelpInfoActivity extends BaseActivity implements OnClickListener{ private ViewFlipper helpImageView; private float firstposition; int currentImg = 0; private static final int FLING_MIN_DISTANCE = 200; private TextView tvHeadTitle; private TextView btBack, btMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_helpinfo); helpImageView= (ViewFlipper)findViewById(R.id.iv_helpinfoimage); IntentFilter filter = new IntentFilter( ); filter.addAction("android.navi.ok"); //方向盘OK registerReceiver(mIntentReceiver, filter); tvHeadTitle=(TextView) findViewById(R.id.tv_shb_title); tvHeadTitle.setText("使用帮助"); btBack = (TextView) findViewById(R.id.bt_back); btMap = (TextView) findViewById(R.id.bt_map); btBack.setOnClickListener(this); btMap.setOnClickListener(this); helpImageView.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN){ firstposition = event.getX(); } if(event.getAction() == MotionEvent.ACTION_UP){ float secondposition = event.getX(); updatePage(secondposition); } return true; } }); } private final BroadcastReceiver mIntentReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { if (intent.getAction().equals("android.navi.ok")) { if (currentImg++ < 4) { helpImageView.setInAnimation(inFromRightAnimation()); helpImageView.setOutAnimation(outToLeftAnimation()); helpImageView.showNext(); } else { finish(); } } } }; @Override protected void onStop() { super.onStop(); unregisterReceiver(mIntentReceiver); } /** * 定义从右侧进入的动画效果 * @return */ protected Animation inFromRightAnimation() { Animation inFromRight = new TranslateAnimation( Animation.RELATIVE_TO_PARENT, +1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f); inFromRight.setDuration(500); inFromRight.setInterpolator(new AccelerateInterpolator()); return inFromRight; } /** * 定义从左侧退出的动画效果 * @return */ protected Animation outToLeftAnimation() { Animation outtoLeft = new TranslateAnimation( Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, -1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f); outtoLeft.setDuration(500); outtoLeft.setInterpolator(new AccelerateInterpolator()); return outtoLeft; } /** * 定义从左侧进入的动画效果 * @return */ protected Animation inFromLeftAnimation() { Animation inFromLeft = new TranslateAnimation( Animation.RELATIVE_TO_PARENT, -1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f); inFromLeft.setDuration(500); inFromLeft.setInterpolator(new AccelerateInterpolator()); return inFromLeft; } /** * 定义从右侧退出时的动画效果 * @return */ protected Animation outToRightAnimation() { Animation outtoRight = new TranslateAnimation( Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, +1.0f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.0f); outtoRight.setDuration(500); outtoRight.setInterpolator(new AccelerateInterpolator()); return outtoRight; } public void updatePage(float secondposition) { if (secondposition - firstposition < 0 && Math.abs(secondposition - firstposition) > FLING_MIN_DISTANCE) { if (currentImg++ < 4) { helpImageView.setInAnimation(inFromRightAnimation()); helpImageView.setOutAnimation(outToLeftAnimation()); helpImageView.showNext(); } else { finish(); } } else if (secondposition - firstposition > 0 && Math.abs(secondposition - firstposition) > FLING_MIN_DISTANCE) { if (currentImg-- > 0) { helpImageView.setInAnimation(inFromLeftAnimation()); helpImageView.setOutAnimation(outToRightAnimation()); helpImageView.showPrevious(); } else { currentImg = 0; } } } @Override public void onClick(View v) { // TODO Auto-generated method stub switch(v.getId()){ case R.id.bt_back: this.finish(); break; case R.id.bt_map: this.setResult(ActivityCode.INTEGRATED_GO_MAP); this.finish(); break; } } }
android proguard混淆后,效果和原来的不一致
最近在学习android proguard,但是看了很多的博客和demo,自己练手的时候出现的问题久久不会解决,郁闷已久,虽求助大家。 问题描述:一个android动画的demo,没有混淆之后效果都能实现,但是混淆之后动画效果都没有效果了。 我引用了一个第三方jar包:afinal_0.5.1_bin.jar proguard-project.txt: -dontoptimize -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -dontwarn -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -keepattributes InnerClasses,LineNumberTable -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class com.android.vending.licensing.ILicensingService -keep class net.tsz.afinal.**{*;} -keep class android.webkit.**{*;} -keepclasseswithmembernames class * { native <methods>; } -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int); } -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class **.R$* { *; } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } ```MainActivity.java package com.example.animation; import net.tsz.afinal.FinalActivity; import net.tsz.afinal.annotation.view.ViewInject; import android.content.Intent; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.view.View; import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.view.animation.TranslateAnimation; import android.view.animation.Animation.AnimationListener; import android.view.animation.AnimationUtils; import android.widget.Button; import android.widget.ImageView; public class MainActivity extends FinalActivity { @ViewInject(id = R.id.btn_scale_anim, click = "onClick") private Button mBtnScale; @ViewInject(id = R.id.btn_alpha_anim, click = "onClick") private Button mBtnAlpha; @ViewInject(id = R.id.btn_rotate_anim, click = "onClick") private Button mBtnRotate; @ViewInject(id = R.id.btn_translate_anim, click = "onClick") private Button mBtnTranslate; @ViewInject(id = R.id.btn_continue_one, click = "onClick") private Button mBtnContinueOne; @ViewInject(id = R.id.btn_continue_two, click = "onClick") private Button mBtnContinueTwo; @ViewInject(id = R.id.btn_flash, click = "onClick") private Button mBtnFlash; @ViewInject(id = R.id.btn_shake, click = "onClick") private Button mBtnShake; @ViewInject(id = R.id.btn_switch, click = "onClick") private Button mBtnSwitch; @ViewInject(id = R.id.btn_layout, click = "onClick") private Button mBtnLayout; @ViewInject(id = R.id.btn_frame, click = "onClick") private Button mBtnFrame; @ViewInject(id = R.id.btn_shake, click = "onClick") private Button mBntShake; @ViewInject(id = R.id.iv_image) private ImageView mIvImage; private Animation mAnim; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void onClick(View v) { switch (v.getId()) { // 缩放 case R.id.btn_scale_anim: mAnim = AnimationUtils.loadAnimation(this, R.anim.scale); mIvImage.startAnimation(mAnim); break; // 透明度 case R.id.btn_alpha_anim: mAnim = AnimationUtils.loadAnimation(this, R.anim.alpha); mIvImage.startAnimation(mAnim); break; // 平移 case R.id.btn_translate_anim: mAnim = AnimationUtils.loadAnimation(this, R.anim.translate); mIvImage.startAnimation(mAnim); break; // 旋转 case R.id.btn_rotate_anim: mAnim = AnimationUtils.loadAnimation(this, R.anim.rotate); mIvImage.startAnimation(mAnim); break; // 组合动画,用监听器的方式 case R.id.btn_continue_one: mAnim = AnimationUtils.loadAnimation(this, R.anim.translate); mIvImage.startAnimation(mAnim); final Animation tAnim = AnimationUtils.loadAnimation(this, R.anim.rotate); mAnim.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { mIvImage.startAnimation(tAnim); } }); break; // 组合动画,用xml文件的方式 case R.id.btn_continue_two: mAnim = AnimationUtils.loadAnimation(this, R.anim.continue_two); mIvImage.startAnimation(mAnim); break; // 闪动效果 case R.id.btn_flash: AlphaAnimation alphaAnim = new AlphaAnimation(0.1f, 1.0f); alphaAnim.setDuration(100); alphaAnim.setRepeatCount(10); alphaAnim.setRepeatMode(Animation.REVERSE); mIvImage.startAnimation(alphaAnim); break; // 两个activity跳转的动画效果 case R.id.btn_switch: startActivity(new Intent(this, SecondActivity.class)); overridePendingTransition(R.anim.aty_in, R.anim.aty_out); break; // 布局动画 case R.id.btn_layout: startActivity(new Intent(this, ListActivity.class)); break; // 帧动画 case R.id.btn_frame: // 怎么控制帧动画的重复次数 mIvImage.setImageResource(R.drawable.anim_list); AnimationDrawable animDrawable = (AnimationDrawable) mIvImage.getDrawable(); animDrawable.start(); break; case R.id.btn_shake: TranslateAnimation translateAnim = new TranslateAnimation(-10, 10, -10, 10); translateAnim.setDuration(30); translateAnim.setRepeatCount(10); translateAnim.setRepeatMode(Animation.REVERSE); mIvImage.startAnimation(translateAnim); break; } } } ```
求教Fragment和ListView点击跳转
``` package gfxy.com.fragment_dahb; import android.app.Fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class Web extends Fragment { WebView we; EditText ed1; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.web,null); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); getActivity().setContentView(R.layout.web); Button bu = (Button) getActivity().findViewById(R.id.webbut); ed1 = (EditText) getActivity().findViewById(R.id.webed); we = (WebView) getActivity().findViewById(R.id.webweb); WebSettings wes = we.getSettings(); wes.setJavaScriptEnabled(true); bu.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { setweb(); } }); we.setWebChromeClient(new WebChromeClient() { @Override public void onProgressChanged(WebView view, int newProgress) { if (newProgress == 100) { Toast.makeText(getActivity(), "网页加载完成", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getActivity(), "加载中", Toast.LENGTH_SHORT).show(); } } }); } public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && we.canGoBack()){ we.goBack(); return true; } return false; } public void setweb() { we.loadUrl("http://" + ed1.getText().toString().trim()); we.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); } } ``` ``` package gfxy.com.fragment_dahb; import android.app.Fragment; import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.widget.DrawerLayout; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.RadioGroup; import org.achartengine.ChartFactory; import org.achartengine.GraphicalView; import org.achartengine.model.CategorySeries; import org.achartengine.renderer.DefaultRenderer; import org.achartengine.renderer.SimpleSeriesRenderer; /** * Created by Administrator on 2016/4/18. */ public class bt extends Fragment { public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); FrameLayout sa = (FrameLayout) getActivity().findViewById(R.id.fm); sa.removeAllViews(); CategorySeries dataset=buildCategoryDataset("测试饼图"); GraphicalView graphicalView=ChartFactory.getPieChartView(getActivity(),dataset, renderer);//饼状图 sa.addView(graphicalView, new RadioGroup.LayoutParams(RadioGroup.LayoutParams.FILL_PARENT, RadioGroup.LayoutParams.FILL_PARENT)); } protected CategorySeries buildCategoryDataset(String title) { CategorySeries categorySeries = new CategorySeries(title); categorySeries.add("胜 ", 30); categorySeries.add("负", 20); categorySeries.add("平", 50); return categorySeries; } int[] colors={Color.BLUE,Color.GREEN,Color.MAGENTA,Color.RED}; DefaultRenderer renderer=buildCategoryRenderer(colors); protected DefaultRenderer buildCategoryRenderer(int[] colors) { DefaultRenderer renderer = new DefaultRenderer(); renderer.setLegendTextSize(20);//设置左下角表注的文字大小 //renderer.setZoomButtonsVisible(true);//设置显示放大缩小按钮 renderer.setZoomEnabled(false);//设置不允许放大缩小. renderer.setChartTitleTextSize(30);//设置图表标题的文字大小 renderer.setChartTitle("统计结果");//设置图表的标题 默认是居中顶部显示 renderer.setLabelsTextSize(20);//饼图上标记文字的字体大小 //renderer.setLabelsColor(Color.WHITE);//饼图上标记文字的颜色 renderer.setPanEnabled(false);//设置是否可以平移 //renderer.setDisplayValues(true);//是否显示值 renderer.setClickEnabled(true);//设置是否可以被点击 renderer.setMargins(new int[]{20, 30, 15, 0}); //margins - an array containing the margin size values, in this order: top, left, bottom, right for (int color : colors) { SimpleSeriesRenderer r = new SimpleSeriesRenderer(); r.setColor(color); renderer.addSeriesRenderer(r); } return renderer; } } ``` ``` <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="30dp" android:orientation="horizontal"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="sadsd" android:textSize="25dp" android:gravity="center" android:background="#0f4"/> </LinearLayout> <android.support.v4.widget.DrawerLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/lv" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="@null" android:choiceMode="singleChoice"> </ListView> <FrameLayout android:id="@+id/fm" android:layout_width="match_parent" android:layout_height="match_parent"> </FrameLayout> </android.support.v4.widget.DrawerLayout> </LinearLayout> ``` 我想把Web。和bt显示在framelayout里面,求教怎么做? 还有ListView的点击跳转事件之前用还没问题,也不知道干了什么,然后就不能进行跳转了 求解决?? ``` package gfxy.com.fragment_dahb; import android.app.Activity; import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.content.Intent; import android.os.Bundle; import android.support.v4.widget.DrawerLayout; import android.view.View; import android.widget.AdapterView; import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.SimpleAdapter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class MainActivity extends Activity { private String[] name = new String[]{ "饼图","静态折线","动态折线","Web","逐帧动画","缩放,透明,旋转,平移" }; private FragmentManager fm; private FragmentTransaction ft; private FrameLayout fml; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); fml = (FrameLayout) findViewById(R.id.fm); ListView lv = (ListView)findViewById(R.id.lv); List<Map<String,Object>> list = new ArrayList<Map<String,Object>>(); for (int i=0;i<name.length;i++){ Map<String,Object> map = new HashMap<String,Object>(); map.put("name",name[i]); list.add(map); } lv.setAdapter(new SimpleAdapter(this,list,R.layout.content_main,new String[]{"name"},new int[]{R.id.text1})); // int wi = getWindowManager().getDefaultDisplay().getWidth();//获取手机宽度 // int hi = getWindowManager().getDefaultDisplay().getHeight();//获取手机高度 fm = getFragmentManager();//创建一个Fragment ft = fm.beginTransaction();//对Fragment进行添加,删除,替换 ft.replace(R.id.fm,new Fragment1()); ft.commit(); lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if(position==0){ ft = fm.beginTransaction(); ft.replace(R.id.fm,new bt()); ft.commit(); } if(position==1){ ft = fm.beginTransaction(); ft.replace(R.id.fm,new Fragment1()); ft.commit(); } if(position==3){ ft = fm.beginTransaction(); ft.replace(R.id.fm,new Web()); ft.commit(); } } }); } } ```
viewpager自定义动画如何判断左滑右滑
主体是Viewpager和TabLayout的联动。现在改动Viewpager的滑动动画效果。 效果:页面不再有滑动的效果,滑走的页面直接慢慢消失,滑进来的页面直接慢慢显示。 重写transformPage方法如下,加Animation是因为点击Tab的时候跳转太快,没有缓慢消失缓慢出现的效果。 现在从第一页到第五页切换效果正常。但是反过来从第五页到第一页,每次切换,都会先闪现一下要显示的页面,然后才跑慢慢显示的动画。 试过把条件position < 0改成position < 0||position > 0,但是这样正反切换都闪屏了,实在不知道怎么写向右滑动的条件了。 有没有大神帮忙看一下为什么。 ``` public void transformPage(View view, float position) { int pageWidth = view.getWidth(); //得到view宽 if (flag) { if (position < -1) { // [-Infinity,-1) // This page is way off-screen to the left. 出了左边屏幕 view.setAlpha(0); } else if (position <= 1) { // [-1,1] if (position < 0) { //消失的页面 Animation animation = AnimationUtils.loadAnimation(context, R.anim.alpha_out); view.startAnimation(animation); view.setTranslationX(-pageWidth * position); //阻止消失页面的滑动 } else { //出现的页面 Animation animation = AnimationUtils.loadAnimation(context, R.anim.alpha_in); view.startAnimation(animation); view.setTranslationX(pageWidth); //直接设置出现的页面到底 view.setTranslationX(-pageWidth * position); //阻止出现页面的滑动 } // Fade the page relative to its size. float alphaFactor = Math.max(MIN_ALPHA, 1 - Math.abs(position)); //透明度改变Log view.setAlpha(alphaFactor); } else { // (1,+Infinity] // This page is way off-screen to the right. 出了右边屏幕 view.setAlpha(0); } } } ``` 联动添加动画的代码 mViewPager = (ViewPager) findViewById(R.id.view); TabPagerAdapter adapter = new TabPagerAdapter(getApplicationContext(),mTitleArray,mList); ngGuidePageTransformer = new NGGuidePageTransformer(); ngGuidePageTransformer.setCurrentItem(MyCollection.this,0,mList); mViewPager.setPageTransformer(true,ngGuidePageTransformer); TranslationInterface tempfrag; mViewPager.setAdapter(adapter); mTabLayout = (TabLayout) findViewById(R.id.tab); mTabLayout.setupWithViewPager(mViewPager); alpha_out.xml <?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="1000" android:fillBefore="true"> </alpha> alpha_in.xml <?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="1000" android:fillBefore="true"> </alpha>
Android TV UI问题,小白请大神指导
2 主题 2 帖子 10 积分 新手上路 Rank: 1 积分10 电梯直达 跳转到指定楼层 楼主 发表于 刚刚 | 只看该作者 |只看大图 回帖奖励 TV 开发的小白 请求大神的支援,我想问图片中的中间部分的效果需要用什么实现,使用画廊还是动画。 急急急~~~~~~~希望得到大神的指导, 如果有好的Demo或者好的指导 可以回复我![图片说明](https://img-ask.csdn.net/upload/201608/19/1471590750_745067.png) 或者回复我 急急急~~~~~~~~ 谢谢了
android 两个页面都用recyclerview,一个正常,另一个报错
第一个页面(没问题) ``` @BindView(R.id.title_tv) TextView titleTv; @BindView(R.id.recycler) RecyclerView recyclerView; @BindView(R.id.refresh) SwipeRefreshLayout refreshLayout; @BindView(R.id.no_details) LinearLayout noDetails; List<WalletDetailsBean.ResultBean.ListBean> transactionList = new ArrayList<WalletDetailsBean.ResultBean.ListBean>(); private TransactionListAdapter adapter; private String token; private int page = 1; .... protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_wallet_details); ButterKnife.bind(this); Intent intent = getIntent(); if(intent != null){ token = intent.getStringExtra("token") != null ? intent.getStringExtra("token") : " "; } initTitle(); initView(); initData(token); } .... private void initView() { refreshLayout.setOnRefreshListener(this); refreshLayout.setColorSchemeResources(android.R.color.holo_blue_bright, android.R.color.holo_green_light, android.R.color.holo_orange_light, android.R.color.holo_red_light); refreshLayout.setProgressBackgroundColor(R.color.refresh_bg); initListView(); } private void initListView() { layoutManager = new LinearLayoutManager(this); layoutManager.setOrientation(LinearLayoutManager.VERTICAL); recyclerView.setLayoutManager(layoutManager); adapter = new TransactionListAdapter(this, transactionList); recyclerView.setAdapter(adapter); recyclerView.setBackgroundColor(Color.WHITE); // 第一次进入页面的时候显示加载进度条 refreshLayout.setProgressViewOffset(true, 0, (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24, getResources().getDisplayMetrics())); refreshLayout.setRefreshing(true); //滚动监听 recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); if (newState == RecyclerView.SCROLL_STATE_IDLE && lastVisibleItem + 1 == adapter.getItemCount()) { refreshLayout.setRefreshing(true); page++; if (page <= totalPage) { //根据后台接口 判断当前页是否小于总页 L.e("pageNo:" + page + ",totalPage:" + totalPage); queryTransactionDetails(MywalletDetailActivity.this,token,page); showToast(getResources().getString(R.string.loading)); } else { refreshLayout.setRefreshing(false); showToast(getString(R.string.no_more_data)); } } } @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); lastVisibleItem = layoutManager.findLastVisibleItemPosition(); } }); } ``` 两个页面的xml文件都差不多: ``` <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> ... <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/refresh" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/recycler" android:paddingTop="@dimen/common_10" android:background="#eaeaea" android:layout_width="match_parent" android:layout_height="match_parent"/> </android.support.v4.widget.SwipeRefreshLayout> </LinearLayout> ``` 第二个页面: ``` @BindView(R.id.title_tv) TextView titleTv; @BindView(R.id.no_schedule_ll) LinearLayout noScheduleLl; @BindView(R.id.recycler) RecyclerView recyclerView; @BindView(R.id.refresh_myschedule) SwipeRefreshLayout refreshLayout; ... @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_schedule); ButterKnife.bind(this); withRefreshView = setRefreshView(); intent = getIntent(); userid = intent.getStringExtra("userid"); token = intent.getStringExtra("token"); initView(); loadFromNet(token,pageNo); } /** * 初始化控件 */ private void initView() { titleTv.setText(getResources().getString(R.string.my_schedule)); needHelp.setVisibility(View.VISIBLE); needHelp.setText(getResources().getString(R.string.need_help)); refreshLayout.setOnRefreshListener(this); refreshLayout.setColorSchemeResources(android.R.color.holo_blue_bright, android.R.color.holo_green_light, android.R.color.holo_orange_light, android.R.color.holo_red_light); refreshLayout.setProgressBackgroundColor(R.color.refresh_bg); refreshLayout.setRefreshing(true); /* * 第一次进入页面的时候显示加载进度条 */ refreshLayout.setProgressViewOffset(true, 0, (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 24, getResources().getDisplayMetrics())); refreshLayout.setRefreshing(true); initListView(); } private void initListView() { recyclerView.setItemAnimator(new DefaultItemAnimator());//设置item动画 recyclerView.setHasFixedSize(true); //如果可以确定每个item的高度是固定的,设置这个选项可以提高性能 //创建默认的线性LayoutManage layoutManager = new LinearLayoutManager(this); layoutManager.setOrientation(LinearLayoutManager.VERTICAL); recyclerView.setLayoutManager(layoutManager); recyclerView.setBackgroundColor(Color.WHITE); recyclerView.addItemDecoration(new MyDecoration(this, MyDecoration.VERTICAL_LIST));//自定义的分隔线 adapter = new ScheduleAdapter(this, scheduleList); adapter.setOnItemClickListener(new ScheduleAdapter.OnItemClickListener() { @Override public void onItemClick(View view, int position) { startActivity(new Intent(MyScheduleActivity.this, ShowWebViewActivity.class) .putExtra("title",getResources().getString(R.string.riding_details_title)) .putExtra("share",getResources().getString(R.string.riding_details_share)) .putExtra("url", Url.getMyScheduleDetailUrl(true) + "?token=" + token +"&id=" + rideId)); } }); adapter.setOnItemLongClickListener(new ScheduleAdapter.OnItemLongClickListener() { @Override public void onItemLongClick(View view, int position) { } }); recyclerView.setAdapter(adapter); recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); if (newState == RecyclerView.SCROLL_STATE_IDLE && lastVisibleItem + 1 == adapter.getItemCount()) { refreshLayout.setRefreshing(true); pageNo++; if (pageNo <= totalPage) { //根据后台接口 判断当前页是否小于总页 L.e("pageNo:" + pageNo + "newsTotalPage:" + totalPage); loadFromNet(token, pageNo); showToast(getResources().getString(R.string.loading)); } else { refreshLayout.setRefreshing(false); showToast(getString(R.string.no_more_data)); } } } @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); lastVisibleItem = layoutManager.findLastVisibleItemPosition(); } }); } ``` 跳转到第一个页面正常显示列表,跳转到第二个页面的时候报错 ![图片说明](https://img-ask.csdn.net/upload/201703/26/1490522733_865990.png) 请问是怎么回事,看了一天了还是看不出所以然来。 谢谢~
Android由于手机型号不同导致运行程序结果不同,这个能解决吗?谢谢啦!
跳转画面,手动设置进入时渐进,退出时渐进。在有的手机可以,但是在我的华为手机就不能出现这效果进入时是渐进,但退出时的是自定义从左面退出。请问大神能解决这个问题吗??谢谢谢谢!! <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> <style name="activityAnimStyle" parent="@android:style/Animation.Activity"> <item name="android:activityOpenEnterAnimation">@anim/pop_enter</item> <item name="android:activityOpenExitAnimation">@anim/pop_exit</item> <item name="android:activityCloseEnterAnimation">@anim/pop_enter</item> <item name="android:activityCloseExitAnimation">@anim/pop_exit</item> </style> bt2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(Tool_barActivity.this,MainActivity.class); startActivity(intent); //系统自带动画样式左边进右边出 //overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right); //overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out); overridePendingTransition(R.anim.pop_enter,R.anim.pop_exit); } });
动态规划入门到熟悉,看不懂来打我啊
持续更新。。。。。。 2.1斐波那契系列问题 2.2矩阵系列问题 2.3跳跃系列问题 3.1 01背包 3.2 完全背包 3.3多重背包 3.4 一些变形选讲 2.1斐波那契系列问题 在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n&gt;=2,n∈N*)根据定义,前十项为1, 1, 2, 3...
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
Python 植物大战僵尸代码实现(2):植物卡片选择和种植
这篇文章要介绍的是: - 上方植物卡片栏的实现。 - 点击植物卡片,鼠标切换为植物图片。 - 鼠标移动时,判断当前在哪个方格中,并显示半透明的植物作为提示。
防劝退!数据结构和算法难理解?可视化动画带你轻松透彻理解!
大家好,我是 Rocky0429,一个连数据结构和算法都不会的蒟蒻… 学过数据结构和算法的都知道这玩意儿不好学,没学过的经常听到这样的说法还没学就觉得难,其实难吗?真难! 难在哪呢?当年我还是个小蒟蒻,初学数据结构和算法的时候,在忍着枯燥看完定义原理,之后想实现的时候,觉得它们的过程真的是七拐八绕,及其难受。 在简单的链表、栈和队列这些我还能靠着在草稿上写写画画理解过程,但是到了数论、图...
【搞定 Java 并发面试】面试最常问的 Java 并发基础常见面试题总结!
本文为 SnailClimb 的原创,目前已经收录自我开源的 JavaGuide 中(61.5 k Star!【Java学习 面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。欢迎 Star!)。 另外推荐一篇原创:终极推荐!可能是最适合你的Java学习路线 方法 网站 书籍推荐! Java 并发基础常见面试题总结 1. 什么是线程和进程? 1.1. 何为进程? 进程是程...
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给
shell脚本:备份数据库、代码上线
备份MySQL数据库 场景: 一台MySQL服务器,跑着5个数据库,在没有做主从的情况下,需要对这5个库进行备份 需求: 1)每天备份一次,需要备份所有的库 2)把备份数据存放到/data/backup/下 3)备份文件名称格式示例:dbname-2019-11-23.sql 4)需要对1天以前的所有sql文件压缩,格式为gzip 5)本地数据保留1周 6)需要把备份的数据同步到远程备份中心,假如...
iOS Bug 太多,苹果终于坐不住了!
开源的 Android 和闭源的 iOS,作为用户的你,更偏向哪一个呢? 整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 毋庸置疑,当前移动设备操作系统市场中,Android 和 iOS 作为两大阵营,在相互竞争的同时不断演进。不过一直以来,开源的 Android 吸引了无数的手机厂商涌入其中,为其生态带来了百花齐放的盛景,但和神秘且闭源的 iOS 系统相比,不少网友...
神经⽹络可以计算任何函数的可视化证明
《Neural Networks and Deep Learning》读书笔记第四篇本章其实和前面章节的关联性不大,所以大可将本章作为小短文来阅读,当然基本的深度学习基础还是要有的。主要介绍了神经⽹络拥有的⼀种普遍性,比如说不管目标函数是怎样的,神经网络总是能够对任何可能的输入,其值(或者说近似值)是网络的输出,哪怕是多输入和多输出也是如此,我们大可直接得出一个结论:不论我们想要计算什么样的函数,...
聊聊C语言和指针的本质
坐着绿皮车上海到杭州,24块钱,很宽敞,在火车上非正式地聊几句。 很多编程语言都以 “没有指针” 作为自己的优势来宣传,然而,对于C语言,指针却是与生俱来的。 那么,什么是指针,为什么大家都想避开指针。 很简单, 指针就是地址,当一个地址作为一个变量存在时,它就被叫做指针,该变量的类型,自然就是指针类型。 指针的作用就是,给出一个指针,取出该指针指向地址处的值。为了理解本质,我们从计算机模型说起...
为什么你学不过动态规划?告别动态规划,谈谈我的经验
动态规划难吗?说实话,我觉得很难,特别是对于初学者来说,我当时入门动态规划的时候,是看 0-1 背包问题,当时真的是一脸懵逼。后来,我遇到动态规划的题,看的懂答案,但就是自己不会做,不知道怎么下手。就像做递归的题,看的懂答案,但下不了手,关于递归的,我之前也写过一篇套路的文章,如果对递归不大懂的,强烈建议看一看:为什么你学不会递归,告别递归,谈谈我的经验 对于动态规划,春招秋招时好多题都会用到动态...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
如何安装 IntelliJ IDEA 最新版本——详细教程
IntelliJ IDEA 简称 IDEA,被业界公认为最好的 Java 集成开发工具,尤其在智能代码助手、代码自动提示、代码重构、代码版本管理(Git、SVN、Maven)、单元测试、代码分析等方面有着亮眼的发挥。IDEA 产于捷克,开发人员以严谨著称的东欧程序员为主。IDEA 分为社区版和付费版两个版本。 我呢,一直是 Eclipse 的忠实粉丝,差不多十年的老用户了。很早就接触到了 IDEA...
面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)
Redis 面试题 1、什么是 Redis?. 2、Redis 的数据类型? 3、使用 Redis 有哪些好处? 4、Redis 相比 Memcached 有哪些优势? 5、Memcache 与 Redis 的区别都有哪些? 6、Redis 是单进程单线程的? 7、一个字符串类型的值能存储最大容量是多少? 8、Redis 的持久化机制是什么?各自的优缺点? 9、Redis 常见性...
大学四年自学走来,这些珍藏的「实用工具/学习网站」我全贡献出来了
知乎高赞:文中列举了互联网一线大厂程序员都在用的工具集合,涉及面非常广,小白和老手都可以进来看看,或许有新收获。
为什么要推荐大家学习字节码?
配套视频: 为什么推荐大家学习Java字节码 https://www.bilibili.com/video/av77600176/ 一、背景 本文主要探讨:为什么要学习 JVM 字节码? 可能很多人会觉得没必要,因为平时开发用不到,而且不学这个也没耽误学习。 但是这里分享一点感悟,即人总是根据自己已经掌握的知识和技能来解决问题的。 这里有个悖论,有时候你觉得有些技术没用恰恰是...
互联网公司的裁员,能玩出多少种花样?
裁员,也是一门学问,可谓博大精深!以下,是互联网公司的裁员的多种方法:-正文开始-135岁+不予续签的理由:千禧一代网感更强。95后不予通过试用期的理由:已婚已育员工更有责任心。2通知接下来要过苦日子,让一部分不肯同甘共苦的员工自己走人,以“兄弟”和“非兄弟”来区别员工。3强制996。员工如果平衡不了工作和家庭,可在离婚或离职里二选一。4不布置任何工作,但下班前必须提交千字工作日报。5不给活干+...
【超详细分析】关于三次握手与四次挥手面试官想考我们什么?
在面试中,三次握手和四次挥手可以说是问的最频繁的一个知识点了,我相信大家也都看过很多关于三次握手与四次挥手的文章,今天的这篇文章,重点是围绕着面试,我们应该掌握哪些比较重要的点,哪些是比较被面试官给问到的,我觉得如果你能把我下面列举的一些点都记住、理解,我想就差不多了。 三次握手 当面试官问你为什么需要有三次握手、三次握手的作用、讲讲三次三次握手的时候,我想很多人会这样回答: 首先很多人会先讲下握...
新程序员七宗罪
当我发表这篇文章《为什么每个工程师都应该开始考虑开发中的分析和编程技能呢?》时,我从未想到它会对读者产生如此积极的影响。那些想要开始探索编程和数据科学领域的人向我寻求建议;还有一些人问我下一篇文章的发布日期;还有许多人询问如何顺利过渡到这个职业。我非常鼓励大家继续分享我在这个旅程的经验,学习,成功和失败,以帮助尽可能多的人过渡到一个充满无数好处和机会的职业生涯。亲爱的读者,谢谢你。 -罗伯特。 ...
活到老,学到老,程序员也该如此
全文共2763字,预计学习时长8分钟 图片来源:Pixabay 此前,“网传阿里巴巴要求尽快实现P8全员35周岁以内”的消息闹得沸沸扬扬。虽然很快被阿里辟谣,但苍蝇不叮无缝的蛋,无蜜不招彩蝶蜂。消息从何而来?真相究竟怎样?我们无从而知。我们只知道一个事实:不知从何时开始,程序猿也被划在了“吃青春饭”行业之列。 饱受“996ICU”摧残后,好不容易“头秃了变强了”,即将步入为“高...
Vue快速实现通用表单验证
本文开篇第一句话,想引用鲁迅先生《祝福》里的一句话,那便是:“我真傻,真的,我单单知道后端整天都是CRUD,我没想到前端整天都是Form表单”。这句话要从哪里说起呢?大概要从最近半个月的“全栈工程师”说起。项目上需要做一个城市配载的功能,顾名思义,就是通过框选和拖拽的方式在地图上完成配载。博主选择了前后端分离的方式,在这个过程中发现:首先,只要有依赖jQuery的组件,譬如Kendoui,即使使用...
2019年Spring Boot面试都问了什么?快看看这22道面试题!
Spring Boot 面试题 1、什么是 Spring Boot? 2、Spring Boot 有哪些优点? 3、什么是 JavaConfig? 4、如何重新加载 Spring Boot 上的更改,而无需重新启动服务器? 5、Spring Boot 中的监视器是什么? 6、如何在 Spring Boot 中禁用 Actuator 端点安全性? 7、如何在自定义端口上运行 Sprin...
【图解】记一次手撕算法面试:字节跳动的面试官把我四连击了
字节跳动这家公司,应该是所有秋招的公司中,对算法最重视的一个了,每次面试基本都会让你手撕算法,今天这篇文章就记录下当时被问到的几个算法题,并且每个算法题我都详细着给出了最优解,下面再现当时的面试场景。看完一定让你有所收获 一、小牛试刀:有效括号 大部分情况下,面试官都会问一个不怎么难的问题,不过你千万别太开心,因为这道题往往可以拓展出更多有难度的问题,或者一道题看起来很简单,但是给出最优解,确实很...
关于裁员几点看法及建议
最近网易裁员事件引起广泛关注,昨天网易针对此事,也发了声明,到底谁对谁错,孰是孰非?我们作为吃瓜观众实在是知之甚少,所以不敢妄下定论。身处软件开发这个行业,近一两年来,对...
面试官:关于Java性能优化,你有什么技巧
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。 一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。 下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。 1.对象的生成和大小的调整。 J...
【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?
版权声明:本文为苦逼的码农原创。未经同意禁止任何形式转载,特别是那些复制粘贴到别的平台的,否则,必定追究。欢迎大家多多转发,谢谢。 小秋今天去面试了,面试官问了一个与敏感词过滤算法相关的问题,然而小秋对敏感词过滤算法一点也没听说过。于是,有了下下事情的发生… 面试官开怼 面试官:玩过王者荣耀吧?了解过敏感词过滤吗?,例如在游戏里,如果我们发送“你在干嘛?麻痹演员啊你?”,由于“麻痹”是一个敏感词,...
相关热词 c# 时间比天数 c# oracle查询 c# 主动推送 事件 c# java 属性 c# 控制台 窗体 c# 静态类存值 c#矢量作图 c#窗体调用外部程式 c# enum是否合法 c# 如何卸载引用
立即提问