移动视图上的字体大小不一致取决于div高度?

时间:2018-06-03 23:07:54

标签: html css mobile font-size

我的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,手机上的文字也很小。如果我将高度更改为“自动”,则字体会突然变大。为什么要改变?在移动设备中处理字体大小的首选方法是什么?

1 个答案:

答案 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);





    }
}
相关问题