- 固定app僅豎屏
- 獲取app的版本號、版本名
- 簡單輪播圖的實現
- AlertDialog.Builder如何getWindow()
- 設置ImageView可見與不可見
- android stuio如何快速查找文件
- 如何給AlertDialog設置爲圓角彈框
- 如何給EditText設置爲失去焦點,無法編輯
- 獲取Infalter對象
- 在佈局文件裏畫豎線、橫線
- 如何使xml佈局文件中TextView的文字居中
- 如何隱藏EditText的下劃線
- 如何給EditText輸入框添加提示文字
- android stuio 如何快速定位當前文件中報錯的位置
- fragment中獲取控件
- 如何加快android stuio的運行速度
- ButterKnife8.8.1配置及使用、@BindView、@OnClick
- Android Studio創建Android公共庫模塊
1. 固定app僅豎屏
在AndroidManifest.xml裏的活動註冊裏添加android:screenOrientation=“portrait”,如下:
<activity android:name=".mvp.ui.activity.AboutActivity"
android:screenOrientation="portrait" ></activity>
2.獲取app的版本號
(1)版本號
public static int getLocalVersion(Context ctx) {
int localVersion = 0;
try {
PackageInfo packageInfo = ctx.getApplicationContext()
.getPackageManager()
.getPackageInfo(ctx.getPackageName(), 0);
localVersion = packageInfo.versionCode;
Log.d("TAG", "當前版本號:" + localVersion);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return localVersion;
}
(2)版本名
public static String packageName(Context context) {
PackageManager manager = context.getPackageManager();
String name = null;
try {
PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);
name = info.versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return name;
}
原文:https://blog.csdn.net/juer2017/article/details/78914741
3.簡單輪播圖的實現
(1)build.gradle中添加依賴
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'com.youth.banner:banner:1.4.10'
(2)佈局文件
<com.youth.banner.Banner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="300dp"/>
(3)圖片加載器
public class GlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context).load(path).into(imageView);
}
}
(4)Activity活動
public class MainActivity extends AppCompatActivity {
List<Integer> arrayList = new ArrayList();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
arrayList.add(R.drawable.aa);
arrayList.add(R.drawable.bb);
arrayList.add(R.drawable.cc);
Banner banner = (Banner) findViewById(R.id.banner);
banner.setImages(arrayList).setImageLoader(new GlideImageLoader()).start();
}
}
4.AlertDialog.Builder如何getWindow()
AlertDialog.Builder layoutDialog = new AlertDialog.Builder(this);
AlertDialog dialog = layoutDialog.create();
Window window = dialog .getWindow();
5.設置ImageView可見與不可見
imageView.setVisibility(View.VISIBLE); //可見
imageView.setVisibility(View.INVISIBLE); //不可見
6.android stuio如何快速查找文件
快捷鍵:Ctrl+N
7.如何給AlertDialog設置爲圓角彈框
dialog.getWindow().setBackgroundDrawableResource(R.drawable.dialogbg);
R.drawable.dialogbg如下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="10dp" />
<gradient android:endColor="@color/white" android:startColor="@color/white"/>
</shape>
8.如何給EditText設置爲失去焦點,無法編輯
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="false" />
9.獲取Infalter對象
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
10.在佈局文件裏畫豎線、橫線
豎線:
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@color/black"
android:layout_gravity="center_horizontal" />
橫線:
<View
android:layout_height="1px"
android:layout_width="match_parent"
android:background="@color/black"/>
11.如何使xml佈局文件中TextView的文字居中
android:gravity="center"
12.如何隱藏EditText的下劃線
android:background="@null"
13.如何給EditText輸入框添加提示文字
android:hint="請填寫您的姓名"
14.android stuio 如何快速定位當前文件中報錯的位置
快捷鍵:shift+F2
15.fragment中獲取控件
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_personal_information,container,false);
RecyclerView recyclerView = (RecyclerView)view.findViewById(R.id.xxx);
return view;
}
16.如何加快android stuio的運行速度
(1)修改android stuio安裝目錄下的/bin→studio64.exe.vmoptions和studio.exe.vmoptions
-Xms1024m
-Xmx6144m
-XX:ReservedCodeCacheSize=300m
-XX:SoftRefLRUPolicyMSPerMB=300
(2) 修改項目目錄下的gradle.properties,增加如下配置信息(根據自己電腦的配置修改內存大小,其餘的配置用於加快gradle的編譯速度)
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.configureondemand=true
(3)修改應用目錄下的build.gradle配置,在android{}中增加如下配置
dexOptions {
javaMaxHeapSize "4096M"
}
或
dexOptions {
javaMaxHeapSize "4g"
}
17.ButterKnife8.8.1配置及使用、@BindView、@OnClick
(1)在build.gradle中添加依賴
dependencies {
api 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}
(2)下載插件,我這個已經下載好了,下載完需要重啓
(3)使用:光標定位在Activity中佈局文件名稱activity_main,快捷鍵alt+insert
public class MainActivity extends AppCompatActivity {
@BindView(R.id.day_before)
TextView dayBefore;
@BindView(R.id.btn_before)
Button btnBefore;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);//一定要在setContentView之後
}
@OnClick(R.id.btn_before)
public void onViewClicked(View view) {
switch (view.getId()){
case R.id.btn_before:
dayBefore.setText("2222222");
break;
}
}
}
注意事項:在非Activity 類(例如:Fragment、ViewHold)中綁定:
ButterKnife.bind(this,view);這裏的this不能替換成getActivity()。
18.Android Studio創建Android公共庫模塊
Java的公共庫是直接將公用代碼打成jar包,Android的公共庫類似,都是爲了代碼的重用。使用Android公共庫還可以使項目模塊化,以便協同開發和更好的擴展。
(1)創建Android Library,File – New – New Module,在彈出的對話框中選擇Android Library
(2)新建後主項目settings.gradle自動添加include
(3)App的build.gradle:
(4)Mylibrary的build.gradle:
(5)爲主項目添加模塊依賴,公共庫模塊創建完成後,要爲主項目添加公共庫模塊依賴,主項目才能使用模塊中的公共代碼塊。
File – Project Structure(Ctrl+Shift+Alt+S) – 選擇主項目 – Dependencies – + – Module dependency – 添加已存在項目中的模塊作爲依賴
(6)同步Gradle(自動添加依賴代碼)
(7)將Android Library打包成 .aar
公共庫模塊在當前項目中可以使用了,但是,如果想要在其他項目中也使用該公共庫模塊,可以將其打包成 .aar
打開Gradle工具窗口,找到mylibrary模塊,在build任務中雙擊
Assemble:Debug和Release的AAR包
AssembleDebug:Debug的AAR包
AssembleRelease:Release的AAR包
執行任務完成後,在mylibrary/build/outputs/aar目錄中就會打出 .aar格式的包