-
تعداد ارسال ها
1,519 -
تاریخ عضویت
-
آخرین بازدید
-
روز های برد
40
نوع محتوا
نمایه ها
فروشگاه
تالارهای گفتگو
بخش دریافت
پست ها ارسال شده توسط Elyas Erfani
-
-
ابزار دوم
SnackBar
خوب اسنک بار ابزار جدیدی هست در طراحی متریال که به نظرم خیلی زیبا و عالیه و میتونه جای Toast رو پر کنه واسه شما
برای ساخت ی اسنک بار معمولی :
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
-
سلام به دوستان عزیز
تصمیم گرفتم ی تاپیک ایجاد کنم و توی این تاپک آموزش کار با تمامی ابزار ها و ویو های متریال دیزاین رو در اندروید استودیو قرار بدم
نکته مهم : منظور ما از متریال فقط ی تولبار متریال یا یه اسلاید منوی متریال نیست بلکه ده ها ابزار دیگه وجود داره که کمتر بهشون اهمیت داده میشه
=============================================================
ابزار اول : 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>
فایل 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; } } } }
خوب نتیجه این کارمون میشه این :
اینم کار با تابع set.error
منتظر کار با سایر ابزار های متریال باشید
با اجازه تاپیک مهم شد !!!!!!!!!
موفق باشید
- 8
-
سلام
زیاد سوال ندارم جز اینا
1- چرا answercenter ?
2-نظرتون راجع شهاب ؟
3-پژمان یا امین ؟
4- چرا من از وقتی به دنیا اومدم آواتارتونو عوض نکردید و هنوز همونه ؟
5- اگه 1 میلیارد پول ی هویی گیرتون بیاد باهاش چیکار میکنید ؟ :morning2:
6 - بیشترین در آمد از برنامه نویسی ؟ مبلغ ؟ پروژه ؟
7- چرا فروشگاه انجمنو 2 قسمت نمیکنید جاوا هم راه بیوفته ؟
8 - چند تا دوز دختر ؟
موفق و پرپول باشید
تا سوال جوابی دیگر
- 5
-
سلام من 2تا مشکل دارم
1:تو گوشیهای مختلف تا ته متن نشون نمیده!
2:عکس وسط چینه ولی قسمتی از عکس تو گوشی های کوچیک نشون نمیده
حالا برای عکس میشه عکس کوچیکتر گذاشت ولی برای مشکل اول چیکار کنم؟
لطفا یک راه اصولی بگید
تشکر
اگه میشه به تلگرام من جواب بدید چون خیلی عجله اییه تشکر
سلام
باید با از دیزاینر اسکریپت استفاده کنید و به ویو ها و عکس هاتون مختصات بدید تا در گوشی هایی با سایز های مختلف مشکلی نداشته باشن
آموزشش »
- 1
-
سلام
من از این روش استفاده میکنم ولی نمیدونم چرا یک بار عمل میکنه 5 بار عمل نمیکنه
اگه کسی راهنمایی کنه ممنون میشم
سلام اگر میخواید 5 بار بفرسته ب این شکل بنویسید
For i = 0 To 5 Dim p As PhoneSms p.Send("9123456789","matn") Next
- 2
-
ممنون دوست عزیز
یک سوال مرجعی دارید برای ساینتکس های این برنامه؟
مثلا من میخوام با زدن دکمه Clear اطلاعات درن Edit Text خالی بشه
من با ویژوال بیسیک کار کردم قبلا ولی مثل اینکه کمی فرق داره
ممنون میشم کمک کنید
دوست عزیز سوالتون هیچ ربطی نداره به اینتاپیک
سوالات جدا رو تاپیک جداگانه بزنید
اما جوابتون
واسه خالی کردن متن ادیت تکست در بیسیک
Dim et As EditText
et.Text = ""
موفق باشید
- 1
-
دوست عزیز ی بار تو ی تاپیک فرمودید منم جواب دادم
واقعا جوابتونو دادم و لینک هم دادم
۲امتیاز منفی
تاپیک هم بسته میشه
موید باشید
- 5
-
نصب کردم ولی دوستان گفتن اندروید استودیو برای یه sdk دیگه نیاز داره
شما هم sdk رو با خود اندروید استودیو قرار دادین که حجمش زیاده و من متاسفانه حجم اینترنت کمه اگه میشه لینک خود sdk رو برام قرار بدین خیلی ممنون
سلام
واسه دانلود SDK مورد نیاز از داخل خود اندروید استودیو ب ی قند شکن نیاز دارید
قند شکن رو فعال کنید و وارد اندروید استودیو بشید
برید ب قسمت تنظیمات و بخش Configure و بعد SDK
اونجا اگه با قندشکن باشید خودش واستون لیستجدیدترین هارو میاره و میتونید با قند شکن دانلود کرده و ب راحتی استفاده کنید
موفق باشید
-
سلام دوستان .
طبق آموزشهای آقا شایان اندروید استدیو کامل نصب شد اجرا هم میشه اما این خطا را می دهد:
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 ک استفاده کردید
-
شما که این همه زحمت کشیدین
خوب یه فیلم آموزشی هم مساختین
این از اوزش قسمت های مهم
دوما میتونید خودتون میتونید فانکشن هارو ببینید و کار کنید
- 2
-
آقا من میخوام یه عکسو کانتراستشو بیارم پایین بعد سیوش کنم تو یه فایل
چجوری باید اینکارو بکنم ؟
سلام با همین کتابخانه استاد شاهدی میشه
Dim p As AriaPhotoshp Dim ImageView1 As ImageView p.Contrast(ImageView1.Bitmap , 1 ) p.SavePic(ImageView1.Bitmap , File.DirDefaultExternal ,"ax1.png")
اگر از میزان کنتراست ناراضی بودید با عدد داخل پرانتز بازی کنید
- 4
-
یه سوال داشتم
چجوری میشه با کانتراست و روشنایی کار کرد ؟
مثلا کانتراست رو اورد پایین
روشنایی رو برد بالا
فکر کنم اینجوری باشه
Dim ariaphoto As AriaPhotoshp ariaphoto.Initialize("") ariaphoto.Contrast(ImageView1.Bitmap , 20)
-
اگر بتونید سی شارپ هم اضافه کنید خیلی خوب میشه
بنده هم میتونم تا حد زیادی در زمینه سی شارپ کمک کنم به انجمن
قبل از بیسیک سی شارپ بودم
با تشکر
- 3
-
خسته نباشی سالار جان ایدت مقدسه
اما به گرافیک برس داداش من مثه برنامه های خودم گرافیک ضعیفه
- 1
-
منم یه گروه تلگرام ساختم لینک بدم؟
55 نفریم
اسمشم
بیسیک4اندروید
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
واسه من پ خ کنید بی زحمت
- 2
-
سلام اقای شاهدی اگه امکانش هست باز کردن پروفایل توی تلگرام هم به کتابخونه اضافه کنین.
امکانش هست؟؟
خیلی نیاز دارم.
ممنونم
سلام دوست عزیز
سورس تلگرام سرچر داخل قسمت سورس کدهای انجمن موجوده ک ب سادگی و با ۱ خط کد پروفایل تلگرام ایدی مورد نظرو باز میکنه ومیتونید از اون استفاده کنید
جست و جو کنید
- 4
-
- این ارسال پرطرفدار است.
- این ارسال پرطرفدار است.
فــوق الــعادس استاد دلــم نــیومــد فقط تشکـر بزنــم
من کلا از کتابخانه فراخوانی استفاده میکنم اصلا با دستورات SQL خود بیسیک کاری ندارم
واقعا عالیه و خسته نباشی
- 10
-
سلام
ببخشید بنده کتابخانه
stdviewpager
رو نیاز داشتم
ممنون میشم اگه کسی داره واسم اپلود کنه
کتابخانه MaterialIntro
در مرتبط با فروشگاه
ارسال شده در
بنده خدا رو که تاپیک زده کچل کردید