我的HTML的相关部分如下所示:
<div class="container-main">
<p>TEXT HERE<\p>
</div>
我的CSS看起来像这样:
p {
font-size: 20px;
}
.container-mobile {
background-color: white;
margin-top: 100vh;
width: 100wv;
height: 600px;
}
即使我将font-size设置为16px,手机上的文字也很小。如果我将高度更改为“自动”,则字体会突然变大。为什么要改变?在移动设备中处理字体大小的首选方法是什么?
答案 0 :(得分:0)
将视口添加到页面的标题部分修复了问题
public class Main2Activity extends AppCompatActivity {
ImageView imageView; //imageView'i heryerde tanımladık
EditText editText;
EditText editText2;
EditText editText3;
static SQLiteDatabase database; //Buraya yazdığımız database'e MainActivity'den de ulaşabileceğiz çünkü statik yazdık
Bitmap selectedImage; //seçilen resmi kaydetmek için burada bunu tanımladık
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
imageView = (ImageView) findViewById(R.id.imageView); //layouttaki imageView'i tanımladık
editText = (EditText) findViewById(R.id.editText);
editText2 = (EditText) findViewById(R.id.editText2);
editText3 = (EditText) findViewById(R.id.editText3);
Button button = (Button) findViewById(R.id.button); //Buton tanımladık
Intent intent = getIntent();
String info = intent.getStringExtra("info"); //MainActivity'deki 28. satırla bağlantılı
if (info.equalsIgnoreCase("new")) {
Bitmap background = BitmapFactory.decodeResource(getApplicationContext().getResources(), R.drawable.dede); //Kullanıcı resim seçerkenki aşama
imageView.setImageBitmap(background);
button.setVisibility(View.VISIBLE); //Eğer yeni eklenecekse görünür yap
editText.setText(""); //Bu satır eğer daha önceden bir şey yazdıysak onun orada kalmamasını bize boş yazma yeri açmasını sağlıyor
editText2.setText("");
editText3.setText("");
} else {
String name = intent.getStringExtra("name");
editText.setText(name);
String name2 = intent.getStringExtra("name2");
editText2.setText(name2);
String name3 = intent.getStringExtra("name3");
editText3.setText(name3);
int position = intent.getIntExtra("position", 0);
imageView.setImageBitmap(MainActivity.newImage.get(position));
button.setVisibility(View.INVISIBLE); //Eskiyse gösterme
}
}
//Resim koyma yerine tıklandığında olacaklar
public void select (View view) {
if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[] {Manifest.permission.READ_EXTERNAL_STORAGE}, 2);
} else {
Intent intent = new Intent (Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); //Kullanıcının medyasına eriş diyoruz
startActivityForResult(intent,1);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == 2) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Intent intent = new Intent (Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); //Kullanıcının medyasına eriş diyoruz
startActivityForResult(intent,1);
}
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
//Yukarıdaki medyaya erişime izin verildiyse resim seçme yeri
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1 && resultCode == RESULT_OK && data!= null) {
Uri image = data.getData();
//try ve catch ın içine aldık bu olayı çünkü bi sorun çıkarsa burda uygulama hata vermesin.
try {
selectedImage = MediaStore.Images.Media.getBitmap(this.getContentResolver(), image);
imageView.setImageBitmap(selectedImage); //imageView'e burda ulaşmak için koyduk
} catch (IOException e) {
e.printStackTrace();
}
}
super.onActivityResult(requestCode, resultCode, data);
}
// Kaydetme butonuna tıklandığında olacaklar
public void save (View view) {
String newName = editText.getText().toString(); //Kullanıcının kardettiği isme bu şekilde ulaştık
String newName2 = editText2.getText().toString();
String newName3 = editText3.getText().toString();
//image'ler bytearray şeklinde kaydedilir!!!!!!!!!!
ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); //selectedImage'i compress etmeliyiz kaydetme aşamalarından biri
selectedImage.compress(Bitmap.CompressFormat.PNG,50,outputStream); //bu şekilde ziplemiş olduk resmi
byte[] byteArray = outputStream.toByteArray(); //Bu outpuSteam'i al array'e çevir dedik! ve resmimiz kaydedilebilir oldu
try { //Tüm bu alttaki aşamalarda kullanıcının girdiği isim ve resmi database'imize işlemiş olduk!
database = this.openOrCreateDatabase("Yeni", MODE_PRIVATE, null);
database.execSQL("CREATE TABLE IF NOT EXISTS yeni (name VARCHAR, image BLOB)");
String sqlString = "INSERT INTO yeni (name, image) VALUES (?, ?, ?, ?)";
SQLiteStatement statement =database.compileStatement(sqlString);
statement.bindString(1,newName);
statement.bindString(3,newName2);
statement.bindString(4,newName3);
statement.bindBlob(2,byteArray);
statement.execute();
} catch (Exception e) {
e.printStackTrace();
}
Intent intent = new Intent(getApplicationContext(), MainActivity.class); //kaydet'e bastığında anasayfaya yönlendirilsin
startActivity(intent);
}
}