رفتن به مطلب

Elyas Erfani

پاسخگو و راهنما
  • تعداد ارسال ها

    1,519
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    40

پست ها ارسال شده توسط Elyas Erfani

  1. ابزار دوم


    SnackBar


     


    erararra.jpg


     


    خوب اسنک بار ابزار جدیدی هست در طراحی متریال که به نظرم خیلی زیبا و عالیه و میتونه جای Toast رو پر کنه واسه شما :malih:


     


    برای ساخت ی اسنک بار معمولی :



    Snackbar snackbar = Snackbar
    .make(coordinatorLayout, "AnswerCenter.Ir", Snackbar.LENGTH_LONG);
    snackbar.show();

    واسه ساخت ی اسنک بار با یه به اصطلاح دکمه با رویداد کلیک  :



    Snackbar snackbar = Snackbar
    .make(coordinatorLayout, "AnswerCenter.Ir", Snackbar.LENGTH_LONG)
    .setAction("ButtonName", new View.OnClickListener() {
    @Override
    Public void onClick(View view) {
    Snackbar snackbar1 = Snackbar.make(coordinatorLayout, "Button Clicked !", Snackbar.LENGTH_SHORT);
    snackbar1.show();
    }
    });

    snackbar.show();
    • پسندیدن 5
  2. سلام به دوستان عزیز

     

    تصمیم گرفتم ی تاپیک ایجاد کنم و توی این تاپک آموزش کار با تمامی ابزار ها و ویو های متریال دیزاین رو در اندروید استودیو قرار بدم

     

    نکته مهم : منظور ما از متریال فقط ی تولبار متریال یا یه اسلاید منوی متریال نیست بلکه ده ها ابزار دیگه وجود داره که کمتر بهشون اهمیت داده میشه

     

    =============================================================

    ابزار اول : Material Floating Label واسه ادیت تکست

     

    ی لیبل شناور و زیبا هست واسه استفاده ادیت تکست

     

    ما واسه استفاده از این ابزار نیاز به support library داریم

     

    خوب پس کامپایلش میکنیم از فایل گردل پروژمون

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:23.0.1'
        compile 'com.android.support:design:23.0.1'
    }
    

    با اضافه کردن این کتابخونه ی لایوت جدید میتونیم ایجاد کنیم به اسم Text input layout

     

    حالا تحت همین لایوت جدید ی ادیت تکست ایجاد میکنیم

     

    کد xml لایوتمون :

    <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
     
        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
     
            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                app:layout_scrollFlags="scroll|enterAlways"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
        </android.support.design.widget.AppBarLayout>
     
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="?attr/actionBarSize"
            android:orientation="vertical"
            android:paddingLeft="20dp"
            android:paddingRight="20dp"
            android:paddingTop="60dp">
     
            <android.support.design.widget.TextInputLayout
                android:id="@+id/input_layout_name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
     
                <EditText
                    android:id="@+id/input_name"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:singleLine="true"
                    android:hint="@string/hint_name" />
            </android.support.design.widget.TextInputLayout>
     
            <android.support.design.widget.TextInputLayout
                android:id="@+id/input_layout_email"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
     
                <EditText
                    android:id="@+id/input_email"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:inputType="textEmailAddress"
                    android:hint="@string/hint_email" />
            </android.support.design.widget.TextInputLayout>
     
            <android.support.design.widget.TextInputLayout
                android:id="@+id/input_layout_password"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
     
                <EditText
                    android:id="@+id/input_password"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:inputType="textPassword"
                    android:hint="@string/hint_password" />
            </android.support.design.widget.TextInputLayout>
     
            <Button android:id="@+id/btn_signup"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="@string/btn_sign_up"
                android:background="@color/colorPrimary"
                android:layout_marginTop="40dp"
                android:textColor="@android:color/white"/>
     
        </LinearLayout>
     
    </android.support.design.widget.CoordinatorLayout>
    

    Untitled.png

    فایل strings.xml برناممون :

    <resources>
        <string name="app_name">Floating Labels</string>
        <string name="action_settings">Settings</string>
        <string name="hint_name">Full Name</string>
        <string name="hint_email">Email</string>
        <string name="hint_password">Password</string>
        <string name="btn_sign_up">Sign Up</string>
        <string name="err_msg_name">Enter your full name</string>
        <string name="err_msg_email">Enter valid email address</string>
        <string name="err_msg_password">Enter the password</string>
    </resources>
    

    خوب حالا میریم سراغ کدنویسی کلاس جاوامون :

     

    ببینید ما میتونیم حالت های زیادی تعریف کنیم واسه این ابزارمون

     

    به طور مثال تابع set.error ک میاد اشتباه بودن محتویات ادیت تکستو مشخص میکنه

     
    import android.os.Bundle;
    import android.support.design.widget.TextInputLayout;
    import android.support.v7.app.AppCompatActivity;
    import android.support.v7.widget.Toolbar;
    import android.text.Editable;
    import android.text.TextUtils;
    import android.text.TextWatcher;
    import android.view.View;
    import android.view.WindowManager;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
     
    public class MainActivity extends AppCompatActivity {
     
        private Toolbar toolbar;
        private EditText inputName, inputEmail, inputPassword;
        private TextInputLayout inputLayoutName, inputLayoutEmail, inputLayoutPassword;
        private Button btnSignUp;
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
     
            toolbar = (Toolbar) findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);
     
            inputLayoutName = (TextInputLayout) findViewById(R.id.input_layout_name);
            inputLayoutEmail = (TextInputLayout) findViewById(R.id.input_layout_email);
            inputLayoutPassword = (TextInputLayout) findViewById(R.id.input_layout_password);
            inputName = (EditText) findViewById(R.id.input_name);
            inputEmail = (EditText) findViewById(R.id.input_email);
            inputPassword = (EditText) findViewById(R.id.input_password);
            btnSignUp = (Button) findViewById(R.id.btn_signup);
     
            inputName.addTextChangedListener(new MyTextWatcher(inputName));
            inputEmail.addTextChangedListener(new MyTextWatcher(inputEmail));
            inputPassword.addTextChangedListener(new MyTextWatcher(inputPassword));
     
            btnSignUp.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    submitForm();
                }
            });
        }
     
        /**
         * Validating form
         */
        private void submitForm() {
            if (!validateName()) {
                return;
            }
     
            if (!validateEmail()) {
                return;
            }
     
            if (!validatePassword()) {
                return;
            }
     
            Toast.makeText(getApplicationContext(), "Thank You!", Toast.LENGTH_SHORT).show();
        }
     
        private boolean validateName() {
            if (inputName.getText().toString().trim().isEmpty()) {
                inputLayoutName.setError(getString(R.string.err_msg_name));
                requestFocus(inputName);
                return false;
            } else {
                inputLayoutName.setErrorEnabled(false);
            }
     
            return true;
        }
     
        private boolean validateEmail() {
            String email = inputEmail.getText().toString().trim();
     
            if (email.isEmpty() || !isValidEmail(email)) {
                inputLayoutEmail.setError(getString(R.string.err_msg_email));
                requestFocus(inputEmail);
                return false;
            } else {
                inputLayoutEmail.setErrorEnabled(false);
            }
     
            return true;
        }
     
        private boolean validatePassword() {
            if (inputPassword.getText().toString().trim().isEmpty()) {
                inputLayoutPassword.setError(getString(R.string.err_msg_password));
                requestFocus(inputPassword);
                return false;
            } else {
                inputLayoutPassword.setErrorEnabled(false);
            }
     
            return true;
        }
     
        private static boolean isValidEmail(String email) {
            return !TextUtils.isEmpty(email) && android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
        }
     
        private void requestFocus(View view) {
            if (view.requestFocus()) {
                getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
            }
        }
     
        private class MyTextWatcher implements TextWatcher {
     
            private View view;
     
            private MyTextWatcher(View view) {
                this.view = view;
            }
     
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            }
     
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
            }
     
            public void afterTextChanged(Editable editable) {
                switch (view.getId()) {
                    case R.id.input_name:
                        validateName();
                        break;
                    case R.id.input_email:
                        validateEmail();
                        break;
                    case R.id.input_password:
                        validatePassword();
                        break;
                }
            }
        }
    }
    

    خوب نتیجه این کارمون میشه این :

     

    2fl.PNG

     

    اینم کار با تابع set.error

     

    3fl.PNG

     

     

    منتظر کار با سایر ابزار های متریال باشید :DD: :malih:

    با اجازه تاپیک مهم شد !!!!!!!!!

     

    موفق باشید

     

    • پسندیدن 8
  3. سلام :girl_blush:

    :girl_blush: 

     

    زیاد سوال ندارم جز اینا

     

    1- چرا answercenter ?

     

    2-نظرتون راجع شهاب ؟

     

    3-پژمان یا امین ؟

     

    4- چرا من از وقتی به دنیا اومدم آواتارتونو عوض نکردید و هنوز همونه ؟ :aggressive:

     

    5- اگه 1 میلیارد پول ی هویی گیرتون بیاد باهاش چیکار میکنید ؟ :morning2:

     

    6 - بیشترین در آمد از برنامه نویسی ؟ مبلغ ؟ پروژه ؟

     

    7- چرا فروشگاه انجمنو 2 قسمت نمیکنید جاوا هم راه بیوفته ؟ :hmm: 

     

    8 - چند تا دوز دختر ؟

     

    موفق و پرپول باشید :cool:

    تا سوال جوابی دیگر ♥ 

    • پسندیدن 5
  4. سلام من 2تا مشکل دارم

    1:تو گوشیهای مختلف تا ته متن نشون نمیده!

    2:عکس وسط چینه ولی قسمتی از عکس تو گوشی های کوچیک نشون نمیده

    حالا برای عکس میشه عکس کوچیکتر گذاشت ولی برای مشکل اول چیکار کنم؟

    لطفا یک راه اصولی بگید

    تشکر

    اگه میشه به تلگرام من جواب بدید چون خیلی عجله اییه تشکر

    telegram.me/clixx

     

    سلام

     

    باید با از دیزاینر اسکریپت استفاده کنید و به ویو ها و عکس هاتون مختصات بدید تا در گوشی هایی با سایز های مختلف مشکلی نداشته باشن :write:

     

    آموزشش »

     

    http://answercenter.ir/topic/873-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-scriptdesigner-%D8%AA%D9%86%D8%B8%DB%8C%D9%85%D8%A7%D8%AA-%D9%84%D8%A7%DB%8C%D9%88%D8%AA-%D9%88-%DA%A9%D9%86%D8%AA%D8%B1%D9%84-%D9%87%D8%A7-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D9%85%D8%A7%D9%85-%DA%AF%D9%88%D8%B4%DB%8C/

    • پسندیدن 1
  5. سلام

     

    من از این روش استفاده میکنم ولی نمیدونم چرا یک بار عمل میکنه 5 بار عمل نمیکنه

    اگه کسی راهنمایی کنه ممنون میشم

    سلام اگر میخواید 5 بار بفرسته ب این شکل بنویسید

    For i = 0 To 5
    Dim p As PhoneSms
    p.Send("9123456789","matn")
    Next
    
    • پسندیدن 2
  6. ممنون دوست عزیز

    یک سوال مرجعی دارید برای ساینتکس های این برنامه؟

    مثلا من میخوام با زدن دکمه Clear اطلاعات درن Edit Text خالی بشه

     

    من با ویژوال بیسیک کار کردم قبلا ولی مثل اینکه کمی فرق داره

    ممنون میشم کمک کنید

    دوست عزیز سوالتون هیچ ربطی نداره به این‌تاپیک

    سوالات جدا رو تاپیک جداگانه بزنید :gol:

    اما جوابتون

    واسه خالی کردن متن ادیت تکست در بیسیک

    Dim et As EditText

    et.Text = ""

    موفق باشید

    • پسندیدن 1
  7. دوست عزیز ی بار تو ی تاپیک فرمودید منم جواب دادم

    واقعا جوابتونو دادم و لینک هم دادم

    http://answercenter.ir/forum/37-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%87%D8%A7%DB%8C-%DA%AF%D8%A7%D9%85-%D8%A8%D9%87-%DA%AF%D8%A7%D9%85-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D8%A8%D8%AA%D8%AF%DB%8C-%D9%87%D8%A7/

    ۲امتیاز منفی

    تاپیک هم بسته میشه

    موید باشید

    • پسندیدن 5
  8. نصب کردم ولی دوستان گفتن اندروید استودیو برای یه sdk دیگه نیاز داره 

    شما هم sdk رو با خود اندروید استودیو قرار دادین که حجمش زیاده و من متاسفانه حجم اینترنت کمه اگه میشه لینک خود sdk رو برام قرار بدین خیلی ممنون

    سلام

    واسه دانلود SDK مورد نیاز از داخل خود اندروید استودیو ب ی قند شکن نیاز دارید

    قند شکن رو فعال کنید و‌ وارد اندروید استودیو بشید

    برید ب قسمت تنظیمات و بخش Configure و بعد SDK

    اونجا اگه با قندشکن باشید خودش واستون لیست‌جدیدترین هارو میاره و میتونید با قند شکن دانلود کرده و ب راحتی استفاده کنید

    موفق باشید

  9.  سلام دوستان .

    طبق آموزشهای آقا شایان اندروید استدیو کامل نصب شد اجرا هم میشه اما این خطا را می دهد:

     

    Rendering proplems:

    Missing styles.Is the correct theme chosen for this layout?

    Failed to find style 'textViewStyle' in current theme.

     

    بنظرتون این خطا را از چه طریق میتونم رفع کنم؟

     

    موقع ورود به پروژه ای ک ساختید و در xml مربوط ب دیزاین و ویوو ها میاد ؟؟

    از Api چند استفاده می کنید ؟

     

     

    پروژه رو بسازید اگر این ارور اومد ورژن Api رو تغییر بدید ببینید رفع نمیشه ؟

    واسه تکست ویوتون هم theme گذاشتید ک سازگار نیس با ورژن api ک استفاده کردید :)

  10. شما که این همه زحمت کشیدین

    خوب یه فیلم آموزشی هم مساختین

    :(

     

    این از اوزش قسمت های مهم :)

     

    http://answercenter.ir/topic/4690-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%82%D8%B3%D9%85%D8%AA-%D9%87%D8%A7%DB%8C-%D9%85%D9%87%D9%85-%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D8%A7%D9%86%D9%87-arialib/

     

    دوما میتونید خودتون میتونید فانکشن هارو ببینید و کار کنید :)

    • پسندیدن 2
  11. آقا من میخوام یه عکسو کانتراستشو بیارم پایین بعد سیوش کنم تو یه فایل

    چجوری باید اینکارو بکنم ؟

    سلام با همین کتابخانه استاد شاهدی میشه

    Dim p As AriaPhotoshp
    Dim ImageView1 As ImageView
    p.Contrast(ImageView1.Bitmap , 1 )
    p.SavePic(ImageView1.Bitmap , File.DirDefaultExternal ,"ax1.png")
    

    اگر از میزان کنتراست ناراضی بودید با عدد داخل پرانتز بازی کنید

    • پسندیدن 4
  12. سلام اقای شاهدی اگه امکانش هست باز کردن پروفایل توی تلگرام هم به کتابخونه اضافه کنین.

    امکانش هست؟؟

    خیلی نیاز دارم.

    ممنونم

    سلام دوست عزیز

    سورس تلگرام سرچر‌ داخل قسمت سورس کدهای انجمن موجوده ک ب سادگی و با ۱ خط کد پروفایل تلگرام ایدی مورد نظرو باز میکنه و‌میتونید از اون استفاده‌ کنید :gol:

    جست و جو کنید :)

    • پسندیدن 4
×
×
  • اضافه کردن...